| // Generated by dart2js (fast startup emitter, strong), the Dart to JavaScript compiler version: 2.7.0-dev.0.0. |
| // 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]; |
| } |
| } |
| 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) { |
| copyProperties(mixin.prototype, cls.prototype); |
| cls.prototype.constructor = cls; |
| } |
| function lazy(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 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, 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() { |
| }, |
| IterableElementError_tooFew: function() { |
| return new P.StateError("Too few elements"); |
| }, |
| 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() { |
| }, |
| Symbol0: function Symbol0(t0) { |
| this.__internal$_name = t0; |
| }, |
| unminifyOrTag: function(rawClassName) { |
| var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); |
| if (typeof preserved === "string") |
| return preserved; |
| return rawClassName; |
| }, |
| getType: function(index) { |
| return init.types[H.intTypeCheck(index)]; |
| }, |
| isJsIndexable: function(object, record) { |
| var result; |
| if (record != null) { |
| result = record.x; |
| if (result != null) |
| return result; |
| } |
| return !!J.getInterceptor$(object).$isJavaScriptIndexingBehavior; |
| }, |
| 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_objectTypeName: function(object) { |
| return H.Primitives__objectClassName(object) + H._joinArguments(H.getRuntimeTypeInfo(object), 0, null); |
| }, |
| Primitives__objectClassName: function(object) { |
| var interceptorConstructorName, $name, t1, dispatchName, objectConstructor, match, decompiledName, |
| interceptor = J.getInterceptor$(object), |
| interceptorConstructor = interceptor.constructor; |
| if (typeof interceptorConstructor == "function") { |
| interceptorConstructorName = interceptorConstructor.name; |
| $name = typeof interceptorConstructorName === "string" ? interceptorConstructorName : null; |
| } else |
| $name = null; |
| t1 = $name == null; |
| if (t1 || interceptor === C.Interceptor_methods || !!interceptor.$isUnknownJavaScriptObject) { |
| dispatchName = C.C_JS_CONST(object); |
| if (t1) |
| $name = dispatchName; |
| if (dispatchName === "Object") { |
| objectConstructor = object.constructor; |
| if (typeof objectConstructor == "function") { |
| match = String(objectConstructor).match(/^\s*function\s*([\w$]*)\s*\(/); |
| decompiledName = match == null ? null : match[1]; |
| if (typeof decompiledName === "string" && /^\w+$/.test(decompiledName)) |
| $name = decompiledName; |
| } |
| } |
| return $name; |
| } |
| $name = $name; |
| return H.unminifyOrTag($name.length > 1 && C.JSString_methods._codeUnitAt$1($name, 0) === 36 ? C.JSString_methods.substring$1($name, 1) : $name); |
| }, |
| Primitives_stringFromNativeUint8List: function(charCodes, start, end) { |
| var i, result, i0, chunkEnd; |
| if (end <= 500 && start === 0 && end === charCodes.length) |
| return String.fromCharCode.apply(null, charCodes); |
| for (i = start, result = ""; i < end; i = i0) { |
| i0 = i + 500; |
| chunkEnd = i0 < end ? i0 : end; |
| result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); |
| } |
| return result; |
| }, |
| Primitives_stringFromCharCode: function(charCode) { |
| var bits; |
| if (charCode <= 65535) |
| return String.fromCharCode(charCode); |
| if (charCode <= 1114111) { |
| bits = charCode - 65536; |
| return String.fromCharCode((55296 | C.JSInt_methods._shrOtherPositive$1(bits, 10)) >>> 0, 56320 | bits & 1023); |
| } |
| 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; |
| }, |
| Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) { |
| var $arguments, namedArgumentList, t1 = {}; |
| t1.argumentCount = 0; |
| $arguments = []; |
| namedArgumentList = []; |
| t1.argumentCount = positionalArguments.length; |
| C.JSArray_methods.addAll$1($arguments, positionalArguments); |
| t1.names = ""; |
| if (namedArguments != null && namedArguments.__js_helper$_length !== 0) |
| namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); |
| "" + t1.argumentCount; |
| return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0)); |
| }, |
| Primitives_applyFunction: function($function, positionalArguments, namedArguments) { |
| var t1, $arguments, argumentCount, jsStub; |
| if (positionalArguments instanceof Array) |
| t1 = namedArguments == null || namedArguments.__js_helper$_length === 0; |
| else |
| t1 = false; |
| if (t1) { |
| $arguments = positionalArguments; |
| argumentCount = $arguments.length; |
| if (argumentCount === 0) { |
| if (!!$function.call$0) |
| return $function.call$0(); |
| } else if (argumentCount === 1) { |
| if (!!$function.call$1) |
| return $function.call$1($arguments[0]); |
| } else if (argumentCount === 2) { |
| if (!!$function.call$2) |
| return $function.call$2($arguments[0], $arguments[1]); |
| } else if (argumentCount === 3) { |
| if (!!$function.call$3) |
| return $function.call$3($arguments[0], $arguments[1], $arguments[2]); |
| } else if (argumentCount === 4) { |
| if (!!$function.call$4) |
| return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]); |
| } else if (argumentCount === 5) |
| if (!!$function.call$5) |
| return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]); |
| jsStub = $function["call" + "$" + argumentCount]; |
| if (jsStub != null) |
| return jsStub.apply($function, $arguments); |
| } |
| return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments); |
| }, |
| Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) { |
| var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, used, t2; |
| if (positionalArguments != null) |
| $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, null); |
| else |
| $arguments = []; |
| argumentCount = $arguments.length; |
| requiredParameterCount = $function.$requiredArgCount; |
| if (argumentCount < requiredParameterCount) |
| return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
| defaultValuesClosure = $function.$defaultValues; |
| t1 = defaultValuesClosure == null; |
| defaultValues = !t1 ? defaultValuesClosure() : null; |
| interceptor = J.getInterceptor$($function); |
| jsFunction = interceptor["call*"]; |
| if (typeof jsFunction === "string") |
| jsFunction = interceptor[jsFunction]; |
| if (t1) { |
| if (namedArguments != null && namedArguments.__js_helper$_length !== 0) |
| return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
| if (argumentCount === requiredParameterCount) |
| return jsFunction.apply($function, $arguments); |
| return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
| } |
| if (defaultValues instanceof Array) { |
| if (namedArguments != null && namedArguments.__js_helper$_length !== 0) |
| return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
| if (argumentCount > requiredParameterCount + defaultValues.length) |
| return H.Primitives_functionNoSuchMethod($function, $arguments, null); |
| C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount)); |
| return jsFunction.apply($function, $arguments); |
| } else { |
| if (argumentCount > requiredParameterCount) |
| return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
| keys = Object.keys(defaultValues); |
| if (namedArguments == null) |
| for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) |
| C.JSArray_methods.add$1($arguments, defaultValues[H.stringTypeCheck(keys[_i])]); |
| else { |
| for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { |
| t2 = H.stringTypeCheck(keys[_i]); |
| if (namedArguments.containsKey$1(t2)) { |
| ++used; |
| C.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2)); |
| } else |
| C.JSArray_methods.add$1($arguments, defaultValues[t2]); |
| } |
| if (used !== namedArguments.__js_helper$_length) |
| return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
| } |
| return jsFunction.apply($function, $arguments); |
| } |
| }, |
| 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 (typeof index !== "number" || Math.floor(index) !== index) |
| return new P.ArgumentError(true, index, _s5_, null); |
| $length = H.intTypeCheck(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); |
| }, |
| checkBool: function(value) { |
| return value; |
| }, |
| wrapException: function(ex) { |
| var wrapper; |
| if (ex == null) |
| ex = new P.NullThrownError(); |
| wrapper = new Error(); |
| wrapper.dartException = ex; |
| if ("defineProperty" in Object) { |
| Object.defineProperty(wrapper, "message", {get: H.toStringWrapper}); |
| wrapper.name = ""; |
| } else |
| wrapper.toString = H.toStringWrapper; |
| 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([], [P.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) { |
| var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t2, _null = null, |
| t1 = new H.unwrapException_saveStackTrace(ex); |
| if (ex == null) |
| return; |
| if (ex instanceof H.ExceptionAndStackTrace) |
| return t1.call$1(ex.dartException); |
| if (typeof ex !== "object") |
| return ex; |
| if ("dartException" in ex) |
| return t1.call$1(ex.dartException); |
| else 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 t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); |
| case 445: |
| case 5007: |
| return t1.call$1(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 t1.call$1(H.JsNoSuchMethodError$(H.stringTypeCheck(message), match)); |
| else { |
| match = notClosure.matchTypeError$1(message); |
| if (match != null) { |
| match.method = "call"; |
| return t1.call$1(H.JsNoSuchMethodError$(H.stringTypeCheck(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); |
| t2 = match != null; |
| } else |
| t2 = true; |
| } else |
| t2 = true; |
| } else |
| t2 = true; |
| } else |
| t2 = true; |
| } else |
| t2 = true; |
| } else |
| t2 = true; |
| } else |
| t2 = true; |
| if (t2) |
| return t1.call$1(H.NullError$(H.stringTypeCheck(message), match)); |
| } |
| } |
| return t1.call$1(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 t1.call$1(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) { |
| H.interceptedTypeCheck(closure, "$isFunction"); |
| switch (H.intTypeCheck(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(P.Exception_Exception("Unsupported number of arguments for wrapped closure")); |
| }, |
| convertDartClosureToJS: function(closure, arity) { |
| var $function; |
| if (closure == null) |
| return; |
| $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, signatureFunction, applyTrampoline, i, stub, stubCallName, _null = null, |
| $function = functions[0], |
| callName = $function.$callName, |
| $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(_null, _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; |
| } |
| signatureFunction = H.Closure__computeSignatureFunctionLegacy(reflectionInfo, isStatic, isIntercepted); |
| $prototype.$signature = signatureFunction; |
| $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__computeSignatureFunctionLegacy: function(functionType, isStatic, isIntercepted) { |
| var getReceiver; |
| if (typeof functionType == "number") |
| return function(getType, t) { |
| return function() { |
| return getType(t); |
| }; |
| }(H.getType, functionType); |
| if (typeof functionType == "function") |
| if (isStatic) |
| return functionType; |
| else { |
| getReceiver = isIntercepted ? H.BoundClosure_receiverOf : H.BoundClosure_selfOf; |
| return function(f, r) { |
| return function() { |
| return f.apply({$receiver: r(this)}, arguments); |
| }; |
| }(functionType, getReceiver); |
| } |
| 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; |
| t1 = "return function(){var " + selfName + " = this."; |
| t2 = $.BoundClosure_selfFieldNameCache; |
| return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + ";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; |
| t1 = "return function(" + $arguments + "){return this."; |
| t2 = $.BoundClosure_selfFieldNameCache; |
| return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + "." + 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(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 t2, stubName, arity, lookedUpFunction, t3, t4, $arguments, |
| t1 = $.BoundClosure_selfFieldNameCache; |
| if (t1 == null) |
| t1 = $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self"); |
| t2 = $.BoundClosure_receiverFieldNameCache; |
| if (t2 == null) |
| t2 = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver"); |
| stubName = $function.$stubName; |
| arity = $function.length; |
| lookedUpFunction = receiver[stubName]; |
| t3 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; |
| t4 = !t3 || arity >= 28; |
| if (t4) |
| return H.Closure_cspForwardInterceptedCall(arity, !t3, stubName, $function); |
| if (arity === 1) { |
| t1 = "return function(){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ");"; |
| 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(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ", " + $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_selfOf: function(closure) { |
| return closure._self; |
| }, |
| BoundClosure_receiverOf: function(closure) { |
| return closure._receiver; |
| }, |
| BoundClosure_computeFieldNamed: function(fieldName) { |
| var t1, i, $name, |
| template = new H.BoundClosure("self", "target", "receiver", "name"), |
| names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template)); |
| for (t1 = names.length, i = 0; i < t1; ++i) { |
| $name = names[i]; |
| if (template[$name] === fieldName) |
| return $name; |
| } |
| }, |
| boolConversionCheck: function(value) { |
| if (value == null) |
| H.assertThrow("boolean expression must not be null"); |
| return value; |
| }, |
| stringTypeCheck: function(value) { |
| if (value == null) |
| return value; |
| if (typeof value === "string") |
| return value; |
| throw H.wrapException(H.TypeErrorImplementation$(value, "String")); |
| }, |
| stringTypeCast: function(value) { |
| if (typeof value === "string" || value == null) |
| return value; |
| throw H.wrapException(H.CastErrorImplementation$(value, "String")); |
| }, |
| doubleTypeCheck: function(value) { |
| if (value == null) |
| return value; |
| if (typeof value === "number") |
| return value; |
| throw H.wrapException(H.TypeErrorImplementation$(value, "double")); |
| }, |
| numTypeCheck: function(value) { |
| if (value == null) |
| return value; |
| if (typeof value === "number") |
| return value; |
| throw H.wrapException(H.TypeErrorImplementation$(value, "num")); |
| }, |
| boolTypeCheck: function(value) { |
| if (value == null) |
| return value; |
| if (typeof value === "boolean") |
| return value; |
| throw H.wrapException(H.TypeErrorImplementation$(value, "bool")); |
| }, |
| intTypeCheck: function(value) { |
| if (value == null) |
| return value; |
| if (typeof value === "number" && Math.floor(value) === value) |
| return value; |
| throw H.wrapException(H.TypeErrorImplementation$(value, "int")); |
| }, |
| propertyTypeError: function(value, property) { |
| throw H.wrapException(H.TypeErrorImplementation$(value, H.unminifyOrTag(H.stringTypeCheck(property).substring(3)))); |
| }, |
| propertyTypeCastError: function(value, property) { |
| throw H.wrapException(H.CastErrorImplementation$(value, H.unminifyOrTag(H.stringTypeCheck(property).substring(3)))); |
| }, |
| interceptedTypeCheck: function(value, property) { |
| if (value == null) |
| return value; |
| if ((typeof value === "object" || typeof value === "function") && J.getInterceptor$(value)[property]) |
| return value; |
| H.propertyTypeError(value, property); |
| }, |
| interceptedTypeCast: function(value, property) { |
| var t1; |
| if (value != null) |
| t1 = (typeof value === "object" || typeof value === "function") && J.getInterceptor$(value)[property]; |
| else |
| t1 = true; |
| if (t1) |
| return value; |
| H.propertyTypeCastError(value, property); |
| }, |
| listTypeCheck: function(value) { |
| if (value == null) |
| return value; |
| if (!!J.getInterceptor$(value).$isList) |
| return value; |
| throw H.wrapException(H.TypeErrorImplementation$(value, "List<dynamic>")); |
| }, |
| listSuperNativeTypeCheck: function(value, property) { |
| var t1; |
| if (value == null) |
| return value; |
| t1 = J.getInterceptor$(value); |
| if (!!t1.$isList) |
| return value; |
| if (t1[property]) |
| return value; |
| H.propertyTypeError(value, property); |
| }, |
| extractFunctionTypeObjectFromInternal: function(o) { |
| var signature; |
| if ("$signature" in o) { |
| signature = o.$signature; |
| if (typeof signature == "number") |
| return init.types[H.intTypeCheck(signature)]; |
| else |
| return o.$signature(); |
| } |
| return; |
| }, |
| functionTypeTest: function(value, functionTypeRti) { |
| var functionTypeObject; |
| if (typeof value == "function") |
| return true; |
| functionTypeObject = H.extractFunctionTypeObjectFromInternal(J.getInterceptor$(value)); |
| if (functionTypeObject == null) |
| return false; |
| return H._isFunctionSubtype(functionTypeObject, null, functionTypeRti, null); |
| }, |
| functionTypeCheck: function(value, functionTypeRti) { |
| var $self, t1; |
| if (value == null) |
| return value; |
| if ($._inTypeAssertion) |
| return value; |
| $._inTypeAssertion = true; |
| try { |
| if (H.functionTypeTest(value, functionTypeRti)) |
| return value; |
| $self = H.runtimeTypeToString(functionTypeRti); |
| t1 = H.TypeErrorImplementation$(value, $self); |
| throw H.wrapException(t1); |
| } finally { |
| $._inTypeAssertion = false; |
| } |
| }, |
| futureOrCheck: function(o, futureOrRti) { |
| if (o != null && !H.checkSubtypeOfRuntimeType(o, futureOrRti)) |
| H.throwExpression(H.TypeErrorImplementation$(o, H.runtimeTypeToString(futureOrRti))); |
| return o; |
| }, |
| TypeErrorImplementation$: function(value, type) { |
| return new H.TypeErrorImplementation("TypeError: " + P.Error_safeToString(value) + ": type '" + H.S(H._typeDescription(value)) + "' is not a subtype of type '" + type + "'"); |
| }, |
| CastErrorImplementation$: function(value, type) { |
| return new H.CastErrorImplementation("CastError: " + P.Error_safeToString(value) + ": type '" + H.S(H._typeDescription(value)) + "' is not a subtype of type '" + type + "'"); |
| }, |
| _typeDescription: function(value) { |
| var functionTypeObject, |
| t1 = J.getInterceptor$(value); |
| if (!!t1.$isClosure) { |
| functionTypeObject = H.extractFunctionTypeObjectFromInternal(t1); |
| if (functionTypeObject != null) |
| return H.runtimeTypeToString(functionTypeObject); |
| return "Closure"; |
| } |
| return H.Primitives_objectTypeName(value); |
| }, |
| assertThrow: function(message) { |
| throw H.wrapException(new H._AssertionError(message)); |
| }, |
| throwCyclicInit: function(staticName) { |
| throw H.wrapException(new P.CyclicInitializationError(staticName)); |
| }, |
| RuntimeError$: function(message) { |
| return new H.RuntimeError(message); |
| }, |
| getIsolateAffinityTag: function($name) { |
| return init.getIsolateTag($name); |
| }, |
| setRuntimeTypeInfo: function(target, rti) { |
| target.$ti = rti; |
| return target; |
| }, |
| getRuntimeTypeInfo: function(target) { |
| if (target == null) |
| return; |
| return target.$ti; |
| }, |
| getRuntimeTypeArguments: function(interceptor, object, substitutionName) { |
| return H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(object)); |
| }, |
| getRuntimeTypeArgumentIntercepted: function(interceptor, target, substitutionName, index) { |
| var $arguments = H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target)); |
| return $arguments == null ? null : $arguments[index]; |
| }, |
| getRuntimeTypeArgument: function(target, substitutionName, index) { |
| var $arguments = H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target)); |
| return $arguments == null ? null : $arguments[index]; |
| }, |
| getTypeArgumentByIndex: function(target, index) { |
| var rti = H.getRuntimeTypeInfo(target); |
| return rti == null ? null : rti[index]; |
| }, |
| runtimeTypeToString: function(rti) { |
| return H._runtimeTypeToString(rti, null); |
| }, |
| _runtimeTypeToString: function(rti, genericContext) { |
| var t1, t2; |
| if (rti == null) |
| return "dynamic"; |
| if (rti === -1) |
| return "void"; |
| if (typeof rti === "object" && rti !== null && rti.constructor === Array) |
| return H.unminifyOrTag(rti[0].name) + H._joinArguments(rti, 1, genericContext); |
| if (typeof rti == "function") |
| return H.unminifyOrTag(rti.name); |
| if (rti === -2) |
| return "dynamic"; |
| if (typeof rti === "number") { |
| H.intTypeCheck(rti); |
| if (genericContext == null || rti < 0 || rti >= genericContext.length) |
| return "unexpected-generic-index:" + rti; |
| t1 = genericContext.length; |
| t2 = t1 - rti - 1; |
| if (t2 < 0 || t2 >= t1) |
| return H.ioore(genericContext, t2); |
| return H.S(genericContext[t2]); |
| } |
| if ('func' in rti) |
| return H._functionRtiToString(rti, genericContext); |
| if ('futureOr' in rti) |
| return "FutureOr<" + H._runtimeTypeToString("type" in rti ? rti.type : null, genericContext) + ">"; |
| return "unknown-reified-type"; |
| }, |
| _functionRtiToString: function(rti, genericContext) { |
| var boundsRti, outerContextLength, offset, i, i0, typeParameters, typeSep, t1, t2, boundRti, returnTypeText, $arguments, argumentsText, sep, _i, argument, optionalArguments, namedArguments, t3, _s2_ = ", "; |
| if ("bounds" in rti) { |
| boundsRti = rti.bounds; |
| if (genericContext == null) { |
| genericContext = H.setRuntimeTypeInfo([], [P.String]); |
| outerContextLength = null; |
| } else |
| outerContextLength = genericContext.length; |
| offset = genericContext.length; |
| for (i = boundsRti.length, i0 = i; i0 > 0; --i0) |
| C.JSArray_methods.add$1(genericContext, "T" + (offset + i0)); |
| for (typeParameters = "<", typeSep = "", i0 = 0; i0 < i; ++i0, typeSep = _s2_) { |
| typeParameters += typeSep; |
| t1 = genericContext.length; |
| t2 = t1 - i0 - 1; |
| if (t2 < 0) |
| return H.ioore(genericContext, t2); |
| typeParameters = C.JSString_methods.$add(typeParameters, genericContext[t2]); |
| boundRti = boundsRti[i0]; |
| if (boundRti != null && boundRti !== P.Object) |
| typeParameters += " extends " + H._runtimeTypeToString(boundRti, genericContext); |
| } |
| typeParameters += ">"; |
| } else { |
| typeParameters = ""; |
| outerContextLength = null; |
| } |
| returnTypeText = !!rti.v ? "void" : H._runtimeTypeToString(rti.ret, genericContext); |
| if ("args" in rti) { |
| $arguments = rti.args; |
| for (t1 = $arguments.length, argumentsText = "", sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) { |
| argument = $arguments[_i]; |
| argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext); |
| } |
| } else { |
| argumentsText = ""; |
| sep = ""; |
| } |
| if ("opt" in rti) { |
| optionalArguments = rti.opt; |
| argumentsText += sep + "["; |
| for (t1 = optionalArguments.length, sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) { |
| argument = optionalArguments[_i]; |
| argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext); |
| } |
| argumentsText += "]"; |
| } |
| if ("named" in rti) { |
| namedArguments = rti.named; |
| argumentsText += sep + "{"; |
| for (t1 = H.extractKeys(namedArguments), t2 = t1.length, sep = "", _i = 0; _i < t2; ++_i, sep = _s2_) { |
| t3 = H.stringTypeCheck(t1[_i]); |
| argumentsText = argumentsText + sep + H._runtimeTypeToString(namedArguments[t3], genericContext) + (" " + H.S(t3)); |
| } |
| argumentsText += "}"; |
| } |
| if (outerContextLength != null) |
| genericContext.length = outerContextLength; |
| return typeParameters + "(" + argumentsText + ") => " + returnTypeText; |
| }, |
| _joinArguments: function(types, startIndex, genericContext) { |
| var buffer, index, separator, allDynamic, t1, argument; |
| if (types == null) |
| return ""; |
| buffer = new P.StringBuffer(""); |
| for (index = startIndex, separator = "", allDynamic = true, t1 = ""; index < types.length; ++index, separator = ", ") { |
| buffer._contents = t1 + separator; |
| argument = types[index]; |
| if (argument != null) |
| allDynamic = false; |
| t1 = buffer._contents += H._runtimeTypeToString(argument, genericContext); |
| } |
| return "<" + buffer.toString$0(0) + ">"; |
| }, |
| substitute: function(substitution, $arguments) { |
| if (substitution == null) |
| return $arguments; |
| substitution = substitution.apply(null, $arguments); |
| if (substitution == null) |
| return; |
| if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array) |
| return substitution; |
| if (typeof substitution == "function") |
| return substitution.apply(null, $arguments); |
| return $arguments; |
| }, |
| checkSubtype: function(object, isField, checks, asField) { |
| var $arguments, interceptor; |
| if (object == null) |
| return false; |
| $arguments = H.getRuntimeTypeInfo(object); |
| interceptor = J.getInterceptor$(object); |
| if (interceptor[isField] == null) |
| return false; |
| return H.areSubtypes(H.substitute(interceptor[asField], $arguments), null, checks, null); |
| }, |
| subtypeCast: function(object, isField, checks, asField) { |
| if (object == null) |
| return object; |
| if (H.checkSubtype(object, isField, checks, asField)) |
| return object; |
| throw H.wrapException(H.CastErrorImplementation$(object, function(str, names) { |
| return str.replace(/[^<,> ]+/g, function(m) { |
| return names[m] || m; |
| }); |
| }(H.unminifyOrTag(isField.substring(3)) + H._joinArguments(checks, 0, null), init.mangledGlobalNames))); |
| }, |
| assertSubtype: function(object, isField, checks, asField) { |
| if (object == null) |
| return object; |
| if (H.checkSubtype(object, isField, checks, asField)) |
| return object; |
| throw H.wrapException(H.TypeErrorImplementation$(object, function(str, names) { |
| return str.replace(/[^<,> ]+/g, function(m) { |
| return names[m] || m; |
| }); |
| }(H.unminifyOrTag(isField.substring(3)) + H._joinArguments(checks, 0, null), init.mangledGlobalNames))); |
| }, |
| areSubtypes: function(s, sEnv, t, tEnv) { |
| var len, i; |
| if (t == null) |
| return true; |
| if (s == null) { |
| len = t.length; |
| for (i = 0; i < len; ++i) |
| if (!H._isSubtype(null, null, t[i], tEnv)) |
| return false; |
| return true; |
| } |
| len = s.length; |
| for (i = 0; i < len; ++i) |
| if (!H._isSubtype(s[i], sEnv, t[i], tEnv)) |
| return false; |
| return true; |
| }, |
| computeSignature: function(signature, context, contextName) { |
| return signature.apply(context, H.substitute(J.getInterceptor$(context)["$as" + H.S(contextName)], H.getRuntimeTypeInfo(context))); |
| }, |
| isSupertypeOfNullRecursive: function(type) { |
| var typeArgument; |
| if (typeof type === "number") |
| return false; |
| if ('futureOr' in type) { |
| typeArgument = "type" in type ? type.type : null; |
| return type == null || type.name === "Object" || type.name === "Null" || type === -1 || type === -2 || H.isSupertypeOfNullRecursive(typeArgument); |
| } |
| return false; |
| }, |
| checkSubtypeOfRuntimeType: function(o, t) { |
| var type, rti; |
| if (o == null) |
| return t == null || t.name === "Object" || t.name === "Null" || t === -1 || t === -2 || H.isSupertypeOfNullRecursive(t); |
| if (t == null || t === -1 || t.name === "Object" || t === -2) |
| return true; |
| if (typeof t == "object") { |
| if ('futureOr' in t) |
| if (H.checkSubtypeOfRuntimeType(o, "type" in t ? t.type : null)) |
| return true; |
| if ('func' in t) |
| return H.functionTypeTest(o, t); |
| } |
| type = J.getInterceptor$(o).constructor; |
| rti = H.getRuntimeTypeInfo(o); |
| if (rti != null) { |
| rti = rti.slice(); |
| rti.splice(0, 0, type); |
| type = rti; |
| } |
| return H._isSubtype(type, null, t, null); |
| }, |
| assertSubtypeOfRuntimeType: function(object, type) { |
| if (object != null && !H.checkSubtypeOfRuntimeType(object, type)) |
| throw H.wrapException(H.TypeErrorImplementation$(object, H.runtimeTypeToString(type))); |
| return object; |
| }, |
| _isSubtype: function(s, sEnv, t, tEnv) { |
| var t1, typeOfS, tTypeArgument, futureSubstitution, futureArguments, t2, typeOfT, typeOfTString, substitution, _null = null; |
| if (s === t) |
| return true; |
| if (t == null || t === -1 || t.name === "Object" || t === -2) |
| return true; |
| if (s === -2) |
| return true; |
| if (s == null || s === -1 || s.name === "Object" || s === -2) { |
| if (typeof t === "number") |
| return false; |
| if ('futureOr' in t) |
| return H._isSubtype(s, sEnv, "type" in t ? t.type : _null, tEnv); |
| return false; |
| } |
| if (typeof s === "number") |
| return H._isSubtype(sEnv[H.intTypeCheck(s)], sEnv, t, tEnv); |
| if (typeof t === "number") |
| return false; |
| if (s.name === "Null") |
| return true; |
| t1 = typeof s === "object" && s !== null && s.constructor === Array; |
| typeOfS = t1 ? s[0] : s; |
| if ('futureOr' in t) { |
| tTypeArgument = "type" in t ? t.type : _null; |
| if ('futureOr' in s) |
| return H._isSubtype("type" in s ? s.type : _null, sEnv, tTypeArgument, tEnv); |
| else if (H._isSubtype(s, sEnv, tTypeArgument, tEnv)) |
| return true; |
| else { |
| if (!('$is' + "Future" in typeOfS.prototype)) |
| return false; |
| futureSubstitution = typeOfS.prototype["$as" + "Future"]; |
| futureArguments = H.substitute(futureSubstitution, t1 ? s.slice(1) : _null); |
| return H._isSubtype(typeof futureArguments === "object" && futureArguments !== null && futureArguments.constructor === Array ? futureArguments[0] : _null, sEnv, tTypeArgument, tEnv); |
| } |
| } |
| if ('func' in t) |
| return H._isFunctionSubtype(s, sEnv, t, tEnv); |
| if ('func' in s) |
| return t.name === "Function"; |
| t2 = typeof t === "object" && t !== null && t.constructor === Array; |
| typeOfT = t2 ? t[0] : t; |
| if (typeOfT !== typeOfS) { |
| typeOfTString = typeOfT.name; |
| if (!('$is' + typeOfTString in typeOfS.prototype)) |
| return false; |
| substitution = typeOfS.prototype["$as" + typeOfTString]; |
| } else |
| substitution = _null; |
| if (!t2) |
| return true; |
| t1 = t1 ? s.slice(1) : _null; |
| t2 = t.slice(1); |
| return H.areSubtypes(H.substitute(substitution, t1), sEnv, t2, tEnv); |
| }, |
| _isFunctionSubtype: function(s, sEnv, t, tEnv) { |
| var sBounds, tBounds, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, tPos, sPos, sNamedParameters, tNamedParameters; |
| if (!('func' in s)) |
| return false; |
| if ("bounds" in s) { |
| if (!("bounds" in t)) |
| return false; |
| sBounds = s.bounds; |
| tBounds = t.bounds; |
| if (sBounds.length !== tBounds.length) |
| return false; |
| sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); |
| tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); |
| } else if ("bounds" in t) |
| return false; |
| if (!H._isSubtype(s.ret, sEnv, t.ret, tEnv)) |
| return false; |
| sParameterTypes = s.args; |
| tParameterTypes = t.args; |
| sOptionalParameterTypes = s.opt; |
| tOptionalParameterTypes = t.opt; |
| sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0; |
| tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0; |
| sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0; |
| tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0; |
| if (sParametersLen > tParametersLen) |
| return false; |
| if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen) |
| return false; |
| for (pos = 0; pos < sParametersLen; ++pos) |
| if (!H._isSubtype(tParameterTypes[pos], tEnv, sParameterTypes[pos], sEnv)) |
| return false; |
| for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos) |
| if (!H._isSubtype(tParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv)) |
| return false; |
| for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos) |
| if (!H._isSubtype(tOptionalParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv)) |
| return false; |
| sNamedParameters = s.named; |
| tNamedParameters = t.named; |
| if (tNamedParameters == null) |
| return true; |
| if (sNamedParameters == null) |
| return false; |
| return H.namedParametersSubtypeCheck(sNamedParameters, sEnv, tNamedParameters, tEnv); |
| }, |
| namedParametersSubtypeCheck: function(s, sEnv, t, tEnv) { |
| var t1, i, $name, |
| names = Object.getOwnPropertyNames(t); |
| for (t1 = names.length, i = 0; i < t1; ++i) { |
| $name = names[i]; |
| if (!Object.hasOwnProperty.call(s, $name)) |
| return false; |
| if (!H._isSubtype(t[$name], tEnv, s[$name], sEnv)) |
| return false; |
| } |
| return true; |
| }, |
| defineProperty: function(obj, property, value) { |
| Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); |
| }, |
| lookupAndCacheInterceptor: function(obj) { |
| var interceptor, interceptorClass, mark, t1, |
| tag = H.stringTypeCheck($.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) { |
| tag = H.stringTypeCheck($.alternateTagFunction.call$2(obj, tag)); |
| if (tag != null) { |
| 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) |
| return; |
| 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; |
| }, |
| ConstantMapView: function ConstantMapView(t0, t1) { |
| this._collection$_map = t0; |
| this.$ti = t1; |
| }, |
| ConstantMap: function ConstantMap() { |
| }, |
| ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) { |
| var _ = this; |
| _.__js_helper$_length = t0; |
| _._jsObject = t1; |
| _._keys = t2; |
| _.$ti = t3; |
| }, |
| JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { |
| var _ = this; |
| _._memberName = t0; |
| _._kind = t1; |
| _._arguments = t2; |
| _._namedArgumentNames = t3; |
| _._typeArgumentCount = t4; |
| }, |
| Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { |
| this._box_0 = t0; |
| this.namedArgumentList = t1; |
| this.$arguments = t2; |
| }, |
| 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._message = t0; |
| this._method = t1; |
| }, |
| JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { |
| this._message = t0; |
| this._method = t1; |
| this._receiver = t2; |
| }, |
| UnknownJsTypeError: function UnknownJsTypeError(t0) { |
| this._message = t0; |
| }, |
| ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { |
| this.dartException = t0; |
| this.stackTrace = t1; |
| }, |
| unwrapException_saveStackTrace: function unwrapException_saveStackTrace(t0) { |
| this.ex = t0; |
| }, |
| _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; |
| }, |
| TypeErrorImplementation: function TypeErrorImplementation(t0) { |
| this.message = t0; |
| }, |
| CastErrorImplementation: function CastErrorImplementation(t0) { |
| this.message = t0; |
| }, |
| 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 = _._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() { |
| }, |
| extractKeys: function(victim) { |
| return J.JSArray_JSArray$markFixed(victim ? Object.keys(victim) : [], null); |
| }, |
| 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[$.$get$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, $.$get$JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); |
| return C.UnknownJavaScriptObject_methods; |
| } |
| return C.UnknownJavaScriptObject_methods; |
| }, |
| JSArray_JSArray$markFixed: function(allocation, $E) { |
| return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, [$E])); |
| }, |
| JSArray_markFixedList: function(list) { |
| 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$bn: function(receiver) { |
| if (typeof receiver == "number") |
| return J.JSNumber.prototype; |
| if (receiver == null) |
| return receiver; |
| if (typeof receiver == "boolean") |
| return J.JSBool.prototype; |
| if (!(receiver instanceof P.Object)) |
| return J.UnknownJavaScriptObject.prototype; |
| return receiver; |
| }, |
| getInterceptor$n: function(receiver) { |
| if (typeof receiver == "number") |
| return J.JSNumber.prototype; |
| if (receiver == null) |
| return receiver; |
| if (!(receiver instanceof P.Object)) |
| return J.UnknownJavaScriptObject.prototype; |
| return 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); |
| }, |
| $and$bn: function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return (receiver & a0) >>> 0; |
| return J.getInterceptor$bn(receiver).$and(receiver, a0); |
| }, |
| $div$n: function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver / a0; |
| return J.getInterceptor$n(receiver).$div(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); |
| }, |
| $ge$n: function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver >= a0; |
| return J.getInterceptor$n(receiver).$ge(receiver, a0); |
| }, |
| $index$asx: function(receiver, a0) { |
| if (typeof a0 === "number") |
| if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) |
| if (a0 >>> 0 === a0 && a0 < receiver.length) |
| return receiver[a0]; |
| return J.getInterceptor$asx(receiver).$index(receiver, a0); |
| }, |
| $indexSet$ax: function(receiver, a0, a1) { |
| return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); |
| }, |
| $or$bn: function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return (receiver | a0) >>> 0; |
| return J.getInterceptor$bn(receiver).$or(receiver, a0); |
| }, |
| $shl$n: function(receiver, a0) { |
| return J.getInterceptor$n(receiver).$shl(receiver, a0); |
| }, |
| $sub$n: function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver - a0; |
| return J.getInterceptor$n(receiver).$sub(receiver, a0); |
| }, |
| _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); |
| }, |
| noSuchMethod$1$: function(receiver, a0) { |
| return J.getInterceptor$(receiver).noSuchMethod$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(H.functionTypeCheck(callback, {func: 1, ret: -1})), 0)); |
| }, |
| _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) { |
| self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(H.functionTypeCheck(callback, {func: 1, ret: -1})), 0)); |
| }, |
| _AsyncRun__scheduleImmediateWithTimer: function(callback) { |
| P.Timer__createTimer(C.Duration_0, H.functionTypeCheck(callback, {func: 1, ret: -1})); |
| }, |
| 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]), [$T]); |
| }, |
| _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 future, _null = null, |
| thenCallback = new P._awaitOnObject_closure(bodyFunction), |
| errorCallback = new P._awaitOnObject_closure0(bodyFunction), |
| t1 = J.getInterceptor$(object); |
| if (!!t1.$is_Future) |
| object._thenAwait$1$2(thenCallback, errorCallback, _null); |
| else if (!!t1.$isFuture) |
| object.then$1$2$onError(thenCallback, errorCallback, _null); |
| else { |
| future = new P._Future($.Zone__current, [null]); |
| H.assertSubtypeOfRuntimeType(object, null); |
| future._state = 4; |
| future._resultOrListeners = object; |
| future._thenAwait$1$2(thenCallback, _null, _null); |
| } |
| }, |
| _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), P.Null, P.int, null); |
| }, |
| _Future$zoneValue: function(value, _zone, $T) { |
| var t1 = new P._Future(_zone, [$T]); |
| H.assertSubtypeOfRuntimeType(value, $T); |
| t1._state = 4; |
| t1._resultOrListeners = value; |
| return t1; |
| }, |
| _Future__chainForeignFuture: function(source, target) { |
| var e, s, exception; |
| target._state = 1; |
| try { |
| source.then$1$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target), P.Null); |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(target, e, s)); |
| } |
| }, |
| _Future__chainCoreFuture: function(source, target) { |
| var t1, listeners; |
| for (; t1 = source._state, t1 === 2;) |
| source = H.interceptedTypeCheck(source._resultOrListeners, "$is_Future"); |
| if (t1 >= 4) { |
| listeners = target._removeListeners$0(); |
| target._state = source._state; |
| target._resultOrListeners = source._resultOrListeners; |
| P._Future__propagateToListeners(target, listeners); |
| } else { |
| listeners = H.interceptedTypeCheck(target._resultOrListeners, "$is_FutureListener"); |
| target._state = 2; |
| target._resultOrListeners = source; |
| source._prependListeners$1(listeners); |
| } |
| }, |
| _Future__propagateToListeners: function(source, listeners) { |
| var _box_0, hasError, asyncError, listeners0, sourceResult, t2, t3, zone, t4, oldZone, current, result, _null = null, _box_1 = {}, |
| t1 = _box_1.source = source; |
| for (; true;) { |
| _box_0 = {}; |
| hasError = t1._state === 8; |
| if (listeners == null) { |
| if (hasError) { |
| asyncError = H.interceptedTypeCheck(t1._resultOrListeners, "$isAsyncError"); |
| P._rootHandleUncaughtError(_null, _null, t1._zone, asyncError.error, asyncError.stackTrace); |
| } |
| return; |
| } |
| for (; listeners0 = listeners._nextListener, listeners0 != null; listeners = listeners0) { |
| listeners._nextListener = null; |
| P._Future__propagateToListeners(_box_1.source, listeners); |
| } |
| t1 = _box_1.source; |
| sourceResult = t1._resultOrListeners; |
| _box_0.listenerHasError = hasError; |
| _box_0.listenerValueOrError = sourceResult; |
| t2 = !hasError; |
| if (t2) { |
| t3 = listeners.state; |
| t3 = (t3 & 1) !== 0 || (t3 & 15) === 8; |
| } else |
| t3 = true; |
| if (t3) { |
| t3 = listeners.result; |
| zone = t3._zone; |
| if (hasError) { |
| t4 = t1._zone === zone; |
| t4 = !(t4 || t4); |
| } else |
| t4 = false; |
| if (t4) { |
| H.interceptedTypeCheck(sourceResult, "$isAsyncError"); |
| P._rootHandleUncaughtError(_null, _null, t1._zone, sourceResult.error, sourceResult.stackTrace); |
| return; |
| } |
| oldZone = $.Zone__current; |
| if (oldZone !== zone) |
| $.Zone__current = zone; |
| else |
| oldZone = _null; |
| t1 = listeners.state; |
| if ((t1 & 15) === 8) |
| new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_1, _box_0, listeners, hasError).call$0(); |
| else if (t2) { |
| if ((t1 & 1) !== 0) |
| new P._Future__propagateToListeners_handleValueCallback(_box_0, listeners, sourceResult).call$0(); |
| } else if ((t1 & 2) !== 0) |
| new P._Future__propagateToListeners_handleError(_box_1, _box_0, listeners).call$0(); |
| if (oldZone != null) |
| $.Zone__current = oldZone; |
| t1 = _box_0.listenerValueOrError; |
| if (!!J.getInterceptor$(t1).$isFuture) { |
| if (t1._state >= 4) { |
| current = H.interceptedTypeCheck(t3._resultOrListeners, "$is_FutureListener"); |
| t3._resultOrListeners = null; |
| listeners = t3._reverseListeners$1(current); |
| t3._state = t1._state; |
| t3._resultOrListeners = t1._resultOrListeners; |
| _box_1.source = t1; |
| continue; |
| } else |
| P._Future__chainCoreFuture(t1, t3); |
| return; |
| } |
| } |
| result = listeners.result; |
| current = H.interceptedTypeCheck(result._resultOrListeners, "$is_FutureListener"); |
| result._resultOrListeners = null; |
| listeners = result._reverseListeners$1(current); |
| t1 = _box_0.listenerHasError; |
| t2 = _box_0.listenerValueOrError; |
| if (!t1) { |
| H.assertSubtypeOfRuntimeType(t2, H.getTypeArgumentByIndex(result, 0)); |
| result._state = 4; |
| result._resultOrListeners = t2; |
| } else { |
| H.interceptedTypeCheck(t2, "$isAsyncError"); |
| result._state = 8; |
| result._resultOrListeners = t2; |
| } |
| _box_1.source = result; |
| t1 = result; |
| } |
| }, |
| _registerErrorHandler: function(errorHandler, zone) { |
| if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object, P.StackTrace]})) |
| return zone.registerBinaryCallback$3$1(errorHandler, null, P.Object, P.StackTrace); |
| if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object]})) |
| return H.functionTypeCheck(errorHandler, {func: 1, ret: null, args: [P.Object]}); |
| 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 a valid result")); |
| }, |
| _microtaskLoop: function() { |
| var t1, t2; |
| for (; t1 = $._nextCallback, t1 != null;) { |
| $._lastPriorityCallback = null; |
| t2 = t1.next; |
| $._nextCallback = t2; |
| if (t2 == null) |
| $._lastCallback = null; |
| t1.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); |
| if ($._nextCallback == 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, t2, |
| t1 = $._nextCallback; |
| if (t1 == null) { |
| P._scheduleAsyncCallback(callback); |
| $._lastPriorityCallback = $._lastCallback; |
| return; |
| } |
| entry = new P._AsyncCallbackEntry(callback); |
| t2 = $._lastPriorityCallback; |
| if (t2 == null) { |
| entry.next = t1; |
| $._nextCallback = $._lastPriorityCallback = entry; |
| } else { |
| entry.next = t2.next; |
| $._lastPriorityCallback = t2.next = entry; |
| if (entry.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, H.functionTypeCheck(currentZone.bindCallbackGuarded$1(callback), {func: 1, ret: -1})); |
| }, |
| StreamIterator_StreamIterator: function(stream, $T) { |
| var t1 = stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream; |
| return new P._StreamIterator(t1, [$T]); |
| }, |
| StreamController_StreamController: function($T) { |
| var _null = null; |
| return new P._AsyncStreamController(_null, _null, _null, _null, [$T]); |
| }, |
| _runGuarded: function(notificationHandler) { |
| return; |
| }, |
| _nullErrorHandler: function(error, stackTrace) { |
| P._rootHandleUncaughtError(null, null, $.Zone__current, error, stackTrace); |
| }, |
| _nullDoneHandler: function() { |
| }, |
| Timer_Timer: function(duration, callback) { |
| var t1 = $.Zone__current; |
| if (t1 === C.C__RootZone) |
| return P.Timer__createTimer(duration, H.functionTypeCheck(callback, {func: 1, ret: -1})); |
| return P.Timer__createTimer(duration, H.functionTypeCheck(t1.bindCallbackGuarded$1(callback), {func: 1, ret: -1})); |
| }, |
| _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) { |
| var t1 = {}; |
| t1.error = error; |
| P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(t1, 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; |
| H.functionTypeCheck(f, {func: 1, ret: -1}); |
| t1 = C.C__RootZone !== zone; |
| if (t1) |
| f = !(!t1 || false) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, -1); |
| 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.target = t0; |
| }, |
| _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { |
| this.target = t0; |
| }, |
| _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { |
| this.target = t0; |
| this.e = t1; |
| this.s = t2; |
| }, |
| _Future__asyncComplete_closure: function _Future__asyncComplete_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, t3) { |
| var _ = this; |
| _._box_1 = t0; |
| _._box_0 = t1; |
| _.listener = t2; |
| _.hasError = t3; |
| }, |
| _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) { |
| this.originalSource = t0; |
| }, |
| _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1, t2) { |
| this._box_0 = t0; |
| this.listener = t1; |
| this.sourceResult = t2; |
| }, |
| _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1, t2) { |
| this._box_1 = t0; |
| this._box_0 = t1; |
| this.listener = t2; |
| }, |
| _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; |
| }, |
| 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) { |
| var _ = this; |
| _._controller = t0; |
| _._onDone = _._onError = _._onData = null; |
| _._zone = t1; |
| _._state = t2; |
| _._pending = _._cancelFuture = null; |
| _.$ti = t3; |
| }, |
| _StreamSinkWrapper: function _StreamSinkWrapper(t0, t1) { |
| this._async$_target = t0; |
| this.$ti = t1; |
| }, |
| _BufferingStreamSubscription: function _BufferingStreamSubscription() { |
| }, |
| _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, t1) { |
| var _ = this; |
| _._subscription = null; |
| _._stateData = t0; |
| _._isPaused = false; |
| _.$ti = t1; |
| }, |
| AsyncError: function AsyncError(t0, t1) { |
| this.error = t0; |
| this.stackTrace = t1; |
| }, |
| _Zone: function _Zone() { |
| }, |
| _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) { |
| this._box_0 = 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 H.assertSubtype(H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([$K, $V])), "$isLinkedHashMap", [$K, $V], "$asLinkedHashMap"); |
| }, |
| LinkedHashMap_LinkedHashMap$_empty: function($K, $V) { |
| return new H.JsLinkedHashMap([$K, $V]); |
| }, |
| LinkedHashMap__makeEmpty: function() { |
| return new H.JsLinkedHashMap([null, null]); |
| }, |
| IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) { |
| var parts, t1; |
| if (P._isToStringVisiting(iterable)) { |
| if (leftDelimiter === "(" && rightDelimiter === ")") |
| return "(...)"; |
| return leftDelimiter + "..." + rightDelimiter; |
| } |
| parts = H.setRuntimeTypeInfo([], [P.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, H.listSuperNativeTypeCheck(parts, "$isIterable"), ", ") + 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() { |
| }, |
| _UnmodifiableMapMixin: function _UnmodifiableMapMixin() { |
| }, |
| MapView: function MapView() { |
| }, |
| UnmodifiableMapView: function UnmodifiableMapView() { |
| }, |
| _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { |
| }, |
| _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), null, null); |
| throw H.wrapException(t1); |
| } |
| t1 = P._convertJsonToDartLazy(parsed); |
| return t1; |
| }, |
| _convertJsonToDartLazy: function(object) { |
| var i; |
| if (object == null) |
| return; |
| 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_stringify: function(object, toEncodable, indent) { |
| var t1, |
| output = new P.StringBuffer(""), |
| stringifier = new P._JsonStringStringifier(output, [], P.convert___defaultToEncodable$closure()); |
| 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; |
| }, |
| _symbolMapToStringMap: function(map) { |
| var result = new H.JsLinkedHashMap([P.String, null]); |
| map.forEach$1(0, new P._symbolMapToStringMap_closure(result)); |
| return result; |
| }, |
| Function_apply: function($function, positionalArguments, namedArguments) { |
| return H.Primitives_applyFunction($function, positionalArguments, namedArguments == null ? null : P._symbolMapToStringMap(namedArguments)); |
| }, |
| 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$from: function(elements, growable, $E) { |
| var t1, |
| list = H.setRuntimeTypeInfo([], [$E]); |
| for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) |
| C.JSArray_methods.add$1(list, H.assertSubtypeOfRuntimeType(t1.get$current(), $E)); |
| return list; |
| }, |
| String_String$fromCharCodes: function(charCodes) { |
| var t1 = H.Primitives_stringFromNativeUint8List(charCodes, 0, P.RangeError_checkValidRange(0, null, charCodes.length)); |
| return t1; |
| }, |
| 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; |
| }, |
| NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) { |
| return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments); |
| }, |
| 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" || typeof object === "boolean" || null == object) |
| return J.toString$0$(object); |
| if (typeof object === "string") |
| return JSON.stringify(object); |
| return P.Error__objectToString(object); |
| }, |
| 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); |
| }, |
| ArgumentError$notNull: function($name) { |
| return new P.ArgumentError(false, null, $name, "Must not be null"); |
| }, |
| 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"); |
| }, |
| RangeError_checkValidRange: function(start, end, $length) { |
| if (start > $length) |
| throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null)); |
| if (end != null) { |
| if (start > end || end > $length) |
| throw H.wrapException(P.RangeError$range(end, start, $length, "end", null)); |
| return end; |
| } |
| return $length; |
| }, |
| RangeError_checkNotNegative: function(value, $name) { |
| if (typeof value !== "number") |
| return value.$lt(); |
| if (value < 0) |
| throw H.wrapException(P.RangeError$range(value, 0, null, $name, null)); |
| }, |
| IndexError$: function(invalidValue, indexable, $name, message, $length) { |
| var t1 = H.intTypeCheck($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); |
| }, |
| Exception_Exception: function(message) { |
| return new P._Exception(message); |
| }, |
| FormatException$: function(message, source, offset) { |
| return new P.FormatException(message, source, offset); |
| }, |
| _symbolMapToStringMap_closure: function _symbolMapToStringMap_closure(t0) { |
| this.result = t0; |
| }, |
| NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { |
| this._box_0 = t0; |
| this.sb = t1; |
| }, |
| bool: function bool() { |
| }, |
| DateTime: function DateTime(t0, t1) { |
| this._value = t0; |
| this.isUtc = t1; |
| }, |
| double: function double() { |
| }, |
| 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() { |
| }, |
| 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; |
| }, |
| NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { |
| var _ = this; |
| _._core$_receiver = t0; |
| _._core$_memberName = t1; |
| _._core$_arguments = t2; |
| _._namedArguments = t3; |
| }, |
| 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, t1, t2) { |
| this.message = t0; |
| this.source = t1; |
| this.offset = t2; |
| }, |
| int: function int() { |
| }, |
| Iterable: function Iterable() { |
| }, |
| List: function List() { |
| }, |
| Null: function Null() { |
| }, |
| num: function num() { |
| }, |
| Object: function Object() { |
| }, |
| StackTrace: function StackTrace() { |
| }, |
| String: function String() { |
| }, |
| StringBuffer: function StringBuffer(t0) { |
| this._contents = t0; |
| }, |
| Symbol: function Symbol() { |
| }, |
| convertDartToNative_Dictionary: function(dict) { |
| var object = {}; |
| dict.forEach$1(0, new P.convertDartToNative_Dictionary_closure(object)); |
| return object; |
| }, |
| promiseToFuture: function(promise, $T) { |
| var t1 = new P._Future($.Zone__current, [$T]), |
| completer = new P._AsyncCompleter(t1, [$T]); |
| promise.then(H.convertDartClosureToJS(new P.promiseToFuture_closure(completer, $T), 1), H.convertDartClosureToJS(new P.promiseToFuture_closure0(completer), 1)); |
| return t1; |
| }, |
| _AcceptStructuredClone: function _AcceptStructuredClone() { |
| }, |
| _AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) { |
| this._box_0 = t0; |
| this.$this = t1; |
| }, |
| 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_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 t3, |
| t1 = W.HttpRequest, |
| t2 = new P._Future($.Zone__current, [t1]), |
| completer = new P._AsyncCompleter(t2, [t1]), |
| xhr = new XMLHttpRequest(); |
| C.HttpRequest_methods.open$3$async(xhr, method, url, true); |
| xhr.withCredentials = true; |
| t1 = W.ProgressEvent; |
| t3 = {func: 1, ret: -1, args: [t1]}; |
| W._EventStreamSubscription$(xhr, "load", H.functionTypeCheck(new W.HttpRequest_request_closure(xhr, completer), t3), false, t1); |
| W._EventStreamSubscription$(xhr, "error", H.functionTypeCheck(completer.get$completeError(), t3), false, t1); |
| xhr.send(sendData); |
| return t2; |
| }, |
| _EventStreamSubscription$: function(_target, _eventType, onData, _useCapture, $T) { |
| var t1 = W._wrapZone(new W._EventStreamSubscription_closure(onData), W.Event); |
| t1 = new W._EventStreamSubscription(_target, _eventType, t1, false, [$T]); |
| 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() { |
| }, |
| _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; |
| _._pauseCount = 0; |
| _._target = t0; |
| _._eventType = t1; |
| _._html$_onData = t2; |
| _._useCapture = t3; |
| _.$ti = t4; |
| }, |
| _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) { |
| this.onData = t0; |
| } |
| }, |
| N = {HexCodec: function HexCodec() { |
| }, |
| Logger_Logger: function($name) { |
| return $.Logger__loggers.putIfAbsent$2($name, new N.Logger_Logger_closure($name)); |
| }, |
| Logger: function Logger(t0, t1, t2) { |
| this.name = t0; |
| this.parent = t1; |
| this._children = t2; |
| }, |
| Logger_Logger_closure: function Logger_Logger_closure(t0) { |
| this.name = t0; |
| }, |
| Level: function Level(t0, t1) { |
| this.name = t0; |
| this.value = t1; |
| }, |
| LogRecord: function LogRecord(t0, t1, t2) { |
| this.level = t0; |
| this.message = t1; |
| this.loggerName = t2; |
| } |
| }, |
| R = { |
| _convert: function(bytes, start, end) { |
| var t1, t2, i, bufferIndex, byteOr, byte, bufferIndex0, t3, |
| buffer = new Uint8Array((end - start) * 2); |
| for (t1 = buffer.length, t2 = bytes.length, i = start, bufferIndex = 0, byteOr = 0; i < end; ++i) { |
| if (i >= t2) |
| return H.ioore(bytes, i); |
| byte = bytes[i]; |
| if (typeof byte !== "number") |
| return H.iae(byte); |
| byteOr = (byteOr | byte) >>> 0; |
| bufferIndex0 = bufferIndex + 1; |
| t3 = (byte & 240) >>> 4; |
| t3 = t3 < 10 ? t3 + 48 : t3 + 97 - 10; |
| if (bufferIndex >= t1) |
| return H.ioore(buffer, bufferIndex); |
| buffer[bufferIndex] = t3; |
| bufferIndex = bufferIndex0 + 1; |
| t3 = byte & 15; |
| t3 = t3 < 10 ? t3 + 48 : t3 + 97 - 10; |
| if (bufferIndex0 >= t1) |
| return H.ioore(buffer, bufferIndex0); |
| buffer[bufferIndex0] = t3; |
| } |
| if (byteOr >= 0 && byteOr <= 255) |
| return P.String_String$fromCharCodes(buffer); |
| for (i = start; i < end; ++i) { |
| if (i >= t2) |
| return H.ioore(bytes, i); |
| byte = bytes[i]; |
| if (typeof byte !== "number") |
| return byte.$ge(); |
| if (byte >= 0 && byte <= 255) |
| continue; |
| throw H.wrapException(P.FormatException$("Invalid byte " + (byte < 0 ? "-" : "") + "0x" + C.JSInt_methods.toRadixString$1(Math.abs(byte), 16) + ".", bytes, i)); |
| } |
| throw H.wrapException("unreachable"); |
| }, |
| HexEncoder: function HexEncoder() { |
| }, |
| StreamChannelMixin: function StreamChannelMixin() { |
| } |
| }, |
| M = { |
| SseClient$: function(serverUrl) { |
| var t1 = P.String; |
| t1 = new M.SseClient(P.StreamController_StreamController(t1), P.StreamController_StreamController(t1), N.Logger_Logger("SseClient"), P.StreamController_StreamController(null)); |
| t1.SseClient$1(serverUrl); |
| return t1; |
| }, |
| SseClient: function SseClient(t0, t1, t2, t3) { |
| var _ = this; |
| _._incomingController = t0; |
| _._outgoingController = t1; |
| _._logger = t2; |
| _._errorTimer = _._serverUrl = _._eventSource = null; |
| _._messages = t3; |
| }, |
| SseClient_closure: function SseClient_closure(t0) { |
| this.$this = t0; |
| }, |
| SseClient_closure0: function SseClient_closure0(t0) { |
| this.$this = t0; |
| }, |
| SseClient__closure: function SseClient__closure(t0, t1) { |
| this.$this = t0; |
| this.error = t1; |
| } |
| }, |
| F = { |
| Uuid$: function() { |
| var options, t2, t1 = {}; |
| t1.options = options; |
| t1.options = null; |
| t2 = new F.Uuid(); |
| t2.Uuid$1$options(t1); |
| return t2; |
| }, |
| Uuid: function Uuid() { |
| var _ = this; |
| _._clockSeq = _._nodeId = _._seedBytes = null; |
| _._lastNSecs = _._lastMSecs = 0; |
| _._hexToByte = _._byteToHex = null; |
| } |
| }, |
| E = { |
| main: function() { |
| var channel = M.SseClient$("/test"), |
| t1 = J.get$onClick$x(document.querySelector("button")), |
| t2 = H.getTypeArgumentByIndex(t1, 0); |
| W._EventStreamSubscription$(t1._target, t1._eventType, H.functionTypeCheck(new E.main_closure(channel), {func: 1, ret: -1, args: [t2]}), false, t2); |
| t2 = channel._incomingController; |
| new P._ControllerStream(t2, [H.getTypeArgumentByIndex(t2, 0)]).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; |
| } |
| }, |
| U = { |
| UuidUtil_mathRNG: function() { |
| var b, rand, i, |
| t1 = new Array(16); |
| t1.fixed$length = Array; |
| b = H.setRuntimeTypeInfo(t1, [P.int]); |
| for (rand = null, i = 0; i < 16; ++i) { |
| t1 = i & 3; |
| if (t1 === 0) |
| rand = C.JSInt_methods.toInt$0(C.JSNumber_methods.floor$0(C.C__JSRandom.nextDouble$0() * 4294967296)); |
| if (typeof rand !== "number") |
| return rand.$shr(); |
| C.JSArray_methods.$indexSet(b, i, C.JSInt_methods._shrOtherPositive$1(rand, t1 << 3) & 255); |
| } |
| return b; |
| } |
| }; |
| var holders = [C, H, J, P, W, N, R, M, F, E, U]; |
| 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)) + "'"; |
| }, |
| noSuchMethod$1: function(receiver, invocation) { |
| H.interceptedTypeCheck(invocation, "$isInvocation"); |
| throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); |
| } |
| }; |
| J.JSBool.prototype = { |
| toString$0: function(receiver) { |
| return String(receiver); |
| }, |
| $and: function(receiver, other) { |
| return H.checkBool(H.boolTypeCheck(other)) && receiver; |
| }, |
| $or: function(receiver, other) { |
| return H.checkBool(H.boolTypeCheck(other)) || 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; |
| }, |
| noSuchMethod$1: function(receiver, invocation) { |
| return this.super$Interceptor$noSuchMethod(receiver, H.interceptedTypeCheck(invocation, "$isInvocation")); |
| }, |
| $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)); |
| }, |
| $signature: function() { |
| return {func: 1, opt: [,,,,,,,,,,,,,,,,]}; |
| }, |
| $isFunction: 1 |
| }; |
| J.JSArray.prototype = { |
| add$1: function(receiver, value) { |
| H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(receiver, 0)); |
| if (!!receiver.fixed$length) |
| H.throwExpression(P.UnsupportedError$("add")); |
| receiver.push(value); |
| }, |
| addAll$1: function(receiver, collection) { |
| var t1, _i; |
| H.assertSubtype(collection, "$isIterable", [H.getTypeArgumentByIndex(receiver, 0)], "$asIterable"); |
| if (!!receiver.fixed$length) |
| H.throwExpression(P.UnsupportedError$("addAll")); |
| for (t1 = collection.length, _i = 0; _i < collection.length; collection.length === t1 || (0, H.throwConcurrentModificationError)(collection), ++_i) |
| receiver.push(collection[_i]); |
| }, |
| setRange$3: function(receiver, start, end, iterable) { |
| var $length, i, |
| t1 = H.getTypeArgumentByIndex(receiver, 0); |
| H.assertSubtype(iterable, "$isIterable", [t1], "$asIterable"); |
| if (!!receiver.immutable$list) |
| H.throwExpression(P.UnsupportedError$("setRange")); |
| P.RangeError_checkValidRange(start, end, receiver.length); |
| $length = end - start; |
| if ($length === 0) |
| return; |
| P.RangeError_checkNotNegative(0, "skipCount"); |
| H.assertSubtype(iterable, "$isList", [t1], "$asList"); |
| t1 = J.getInterceptor$asx(iterable); |
| if ($length > t1.get$length(iterable)) |
| throw H.wrapException(H.IterableElementError_tooFew()); |
| if (0 < start) |
| for (i = $length - 1; i >= 0; --i) |
| receiver[start + i] = t1.$index(iterable, i); |
| else |
| for (i = 0; i < $length; ++i) |
| receiver[start + i] = t1.$index(iterable, i); |
| }, |
| 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.getTypeArgumentByIndex(receiver, 0)]); |
| }, |
| get$hashCode: function(receiver) { |
| return H.Primitives_objectHashCode(receiver); |
| }, |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| set$length: function(receiver, newLength) { |
| if (!!receiver.fixed$length) |
| H.throwExpression(P.UnsupportedError$("set length")); |
| if (newLength < 0) |
| throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLength", null)); |
| receiver.length = newLength; |
| }, |
| $index: function(receiver, index) { |
| if (typeof index !== "number" || Math.floor(index) !== index) |
| throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
| if (index >= receiver.length || index < 0) |
| throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| H.intTypeCheck(index); |
| H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(receiver, 0)); |
| if (!!receiver.immutable$list) |
| H.throwExpression(P.UnsupportedError$("indexed set")); |
| if (typeof index !== "number" || Math.floor(index) !== index) |
| throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
| if (index >= receiver.length || index < 0) |
| throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
| receiver[index] = value; |
| }, |
| $add: function(receiver, other) { |
| var totalLength, |
| t1 = [H.getTypeArgumentByIndex(receiver, 0)]; |
| H.assertSubtype(other, "$isList", t1, "$asList"); |
| totalLength = C.JSInt_methods.$add(receiver.length, other.get$length(other)); |
| t1 = H.setRuntimeTypeInfo([], t1); |
| this.set$length(t1, totalLength); |
| this.setRange$3(t1, 0, receiver.length, receiver); |
| this.setRange$3(t1, receiver.length, totalLength, other); |
| return t1; |
| }, |
| $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 = H.assertSubtypeOfRuntimeType(_current, H.getTypeArgumentByIndex(this, 0)); |
| } |
| }; |
| J.JSNumber.prototype = { |
| toInt$0: function(receiver) { |
| var t1; |
| if (receiver >= -2147483648 && receiver <= 2147483647) |
| return receiver | 0; |
| if (isFinite(receiver)) { |
| t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); |
| return t1 + 0; |
| } |
| throw H.wrapException(P.UnsupportedError$("" + receiver + ".toInt()")); |
| }, |
| floor$0: function(receiver) { |
| var truncated, d; |
| if (receiver >= 0) { |
| if (receiver <= 2147483647) |
| return receiver | 0; |
| } else if (receiver >= -2147483648) { |
| truncated = receiver | 0; |
| return receiver === truncated ? truncated : truncated - 1; |
| } |
| d = Math.floor(receiver); |
| if (isFinite(d)) |
| return d; |
| throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()")); |
| }, |
| 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 536870911 & intValue; |
| absolute = Math.abs(receiver); |
| floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; |
| factor = Math.pow(2, floorLog2); |
| scaled = absolute < 1 ? absolute / factor : factor / absolute; |
| return 536870911 & ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259; |
| }, |
| $add: function(receiver, other) { |
| H.numTypeCheck(other); |
| return receiver + other; |
| }, |
| $sub: function(receiver, other) { |
| return receiver - other; |
| }, |
| $div: function(receiver, other) { |
| return receiver / other; |
| }, |
| $mod: function(receiver, other) { |
| var result = receiver % other; |
| if (result === 0) |
| return 0; |
| if (result > 0) |
| return result; |
| if (other < 0) |
| return result - other; |
| else |
| return result + other; |
| }, |
| _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)); |
| }, |
| $shl: function(receiver, other) { |
| if (other < 0) |
| throw H.wrapException(H.argumentErrorValue(other)); |
| return other > 31 ? 0 : receiver << other >>> 0; |
| }, |
| $shr: function(receiver, other) { |
| var t1; |
| if (other < 0) |
| throw H.wrapException(H.argumentErrorValue(other)); |
| if (receiver > 0) |
| t1 = this._shrBothPositive$1(receiver, other); |
| else { |
| t1 = other > 31 ? 31 : other; |
| t1 = receiver >> t1 >>> 0; |
| } |
| return t1; |
| }, |
| _shrOtherPositive$1: 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; |
| }, |
| $and: function(receiver, other) { |
| return (receiver & other) >>> 0; |
| }, |
| $or: function(receiver, other) { |
| H.numTypeCheck(other); |
| if (typeof other !== "number") |
| throw H.wrapException(H.argumentErrorValue(other)); |
| return (receiver | other) >>> 0; |
| }, |
| $lt: function(receiver, other) { |
| if (typeof other !== "number") |
| throw H.wrapException(H.argumentErrorValue(other)); |
| return receiver < other; |
| }, |
| $gt: function(receiver, other) { |
| if (typeof other !== "number") |
| throw H.wrapException(H.argumentErrorValue(other)); |
| return receiver > other; |
| }, |
| $ge: function(receiver, other) { |
| if (typeof other !== "number") |
| throw H.wrapException(H.argumentErrorValue(other)); |
| return 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) { |
| H.stringTypeCheck(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; |
| }, |
| 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 = 536870911 & hash + receiver.charCodeAt(i); |
| hash = 536870911 & hash + ((524287 & hash) << 10); |
| hash ^= hash >> 6; |
| } |
| hash = 536870911 & hash + ((67108863 & hash) << 3); |
| hash ^= hash >> 11; |
| return 536870911 & hash + ((16383 & hash) << 15); |
| }, |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| $index: function(receiver, index) { |
| if (index >= receiver.length || false) |
| throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
| return receiver[index]; |
| }, |
| $isPattern: 1, |
| $isString: 1 |
| }; |
| H.EfficientLengthIterable.prototype = {}; |
| H.ListIterable.prototype = { |
| get$iterator: function(_) { |
| var _this = this; |
| return new H.ListIterator(_this, _this.get$length(_this), [H.getRuntimeTypeArgument(_this, "ListIterable", 0)]); |
| }, |
| get$isEmpty: function(_) { |
| return this.get$length(this) === 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 = H.assertSubtypeOfRuntimeType(_current, H.getTypeArgumentByIndex(this, 0)); |
| } |
| }; |
| H.FixedLengthListMixin.prototype = {}; |
| H.Symbol0.prototype = { |
| get$hashCode: function(_) { |
| var hash = this._hashCode; |
| if (hash != null) |
| return hash; |
| hash = 536870911 & 664597 * J.get$hashCode$(this.__internal$_name); |
| this._hashCode = hash; |
| return hash; |
| }, |
| toString$0: function(_) { |
| return 'Symbol("' + H.S(this.__internal$_name) + '")'; |
| }, |
| $eq: function(_, other) { |
| if (other == null) |
| return false; |
| return other instanceof H.Symbol0 && this.__internal$_name == other.__internal$_name; |
| }, |
| $isSymbol: 1 |
| }; |
| H.ConstantMapView.prototype = {}; |
| H.ConstantMap.prototype = { |
| get$isEmpty: function(_) { |
| return this.get$length(this) === 0; |
| }, |
| toString$0: function(_) { |
| return P.MapBase_mapToString(this); |
| }, |
| $isMap: 1 |
| }; |
| H.ConstantStringMap.prototype = { |
| get$length: function(_) { |
| return this.__js_helper$_length; |
| }, |
| containsKey$1: function(key) { |
| return false; |
| }, |
| $index: function(_, key) { |
| if (!this.containsKey$1(key)) |
| return; |
| return this._fetch$1(key); |
| }, |
| _fetch$1: function(key) { |
| return this._jsObject[H.stringTypeCheck(key)]; |
| }, |
| forEach$1: function(_, f) { |
| var keys, t2, i, key, _this = this, |
| t1 = H.getTypeArgumentByIndex(_this, 1); |
| H.functionTypeCheck(f, {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(_this, 0), t1]}); |
| keys = _this._keys; |
| for (t2 = keys.length, i = 0; i < t2; ++i) { |
| key = keys[i]; |
| f.call$2(key, H.assertSubtypeOfRuntimeType(_this._fetch$1(key), t1)); |
| } |
| } |
| }; |
| H.JSInvocationMirror.prototype = { |
| get$memberName: function() { |
| var t1 = this._memberName; |
| return t1; |
| }, |
| get$positionalArguments: function() { |
| var t1, argumentCount, list, index, _this = this; |
| if (_this._kind === 1) |
| return C.List_empty; |
| t1 = _this._arguments; |
| argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; |
| if (argumentCount === 0) |
| return C.List_empty; |
| list = []; |
| for (index = 0; index < argumentCount; ++index) { |
| if (index >= t1.length) |
| return H.ioore(t1, index); |
| list.push(t1[index]); |
| } |
| list.fixed$length = Array; |
| list.immutable$list = Array; |
| return list; |
| }, |
| get$namedArguments: function() { |
| var t1, namedArgumentCount, t2, namedArgumentsStartIndex, t3, map, i, t4, t5, _this = this; |
| if (_this._kind !== 0) |
| return C.Map_empty; |
| t1 = _this._namedArgumentNames; |
| namedArgumentCount = t1.length; |
| t2 = _this._arguments; |
| namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; |
| if (namedArgumentCount === 0) |
| return C.Map_empty; |
| t3 = P.Symbol; |
| map = new H.JsLinkedHashMap([t3, null]); |
| for (i = 0; i < namedArgumentCount; ++i) { |
| if (i >= t1.length) |
| return H.ioore(t1, i); |
| t4 = t1[i]; |
| t5 = namedArgumentsStartIndex + i; |
| if (t5 < 0 || t5 >= t2.length) |
| return H.ioore(t2, t5); |
| map.$indexSet(0, new H.Symbol0(t4), t2[t5]); |
| } |
| return new H.ConstantMapView(map, [t3, null]); |
| }, |
| $isInvocation: 1 |
| }; |
| H.Primitives_functionNoSuchMethod_closure.prototype = { |
| call$2: function($name, argument) { |
| var t1; |
| H.stringTypeCheck($name); |
| t1 = this._box_0; |
| t1.names = t1.names + "$" + H.S($name); |
| C.JSArray_methods.add$1(this.namedArgumentList, $name); |
| C.JSArray_methods.add$1(this.$arguments, argument); |
| ++t1.argumentCount; |
| }, |
| $signature: 12 |
| }; |
| H.TypeErrorDecoder.prototype = { |
| matchTypeError$1: function(message) { |
| var result, t1, _this = this, |
| match = new RegExp(_this._pattern).exec(message); |
| if (match == null) |
| return; |
| 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._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._message); |
| t2 = _this._receiver; |
| if (t2 == null) |
| return _s38_ + t1 + "' (" + H.S(_this._message) + ")"; |
| return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this._message) + ")"; |
| } |
| }; |
| H.UnknownJsTypeError.prototype = { |
| toString$0: function(_) { |
| var t1 = this._message; |
| return t1.length === 0 ? "Error" : "Error: " + t1; |
| } |
| }; |
| H.ExceptionAndStackTrace.prototype = {}; |
| H.unwrapException_saveStackTrace.prototype = { |
| call$1: function(error) { |
| if (!!J.getInterceptor$(error).$isError) |
| if (error.$thrownJsError == null) |
| error.$thrownJsError = this.ex; |
| return error; |
| }, |
| $signature: 4 |
| }; |
| 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.TypeErrorImplementation.prototype = { |
| toString$0: function(_) { |
| return this.message; |
| } |
| }; |
| H.CastErrorImplementation.prototype = { |
| toString$0: function(_) { |
| return this.message; |
| } |
| }; |
| H.RuntimeError.prototype = { |
| toString$0: function(_) { |
| return "RuntimeError: " + H.S(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.getTypeArgumentByIndex(this, 0)]); |
| }, |
| containsKey$1: function(key) { |
| var strings, t1; |
| if (typeof key === "string") { |
| strings = this._strings; |
| if (strings == null) |
| return false; |
| return this._containsTableEntry$2(strings, key); |
| } else { |
| t1 = this.internalContainsKey$1(key); |
| return t1; |
| } |
| }, |
| internalContainsKey$1: function(key) { |
| var rest = this._rest; |
| if (rest == null) |
| return false; |
| return this.internalFindBucketIndex$2(this._getTableBucket$2(rest, J.get$hashCode$(key) & 0x3ffffff), key) >= 0; |
| }, |
| $index: function(_, key) { |
| var strings, cell, t1, nums, _this = this; |
| if (typeof key === "string") { |
| strings = _this._strings; |
| if (strings == null) |
| return; |
| 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; |
| 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._rest; |
| if (rest == null) |
| return; |
| bucket = this._getTableBucket$2(rest, J.get$hashCode$(key) & 0x3ffffff); |
| index = this.internalFindBucketIndex$2(bucket, key); |
| if (index < 0) |
| return; |
| return bucket[index].hashMapCellValue; |
| }, |
| $indexSet: function(_, key, value) { |
| var strings, nums, rest, hash, bucket, index, _this = this; |
| H.assertSubtypeOfRuntimeType(key, H.getTypeArgumentByIndex(_this, 0)); |
| H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(_this, 1)); |
| 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._rest; |
| if (rest == null) |
| rest = _this._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; |
| H.assertSubtypeOfRuntimeType(key, H.getTypeArgumentByIndex(_this, 0)); |
| H.functionTypeCheck(ifAbsent, {func: 1, ret: H.getTypeArgumentByIndex(_this, 1)}); |
| 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.functionTypeCheck(action, {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1)]}); |
| 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; |
| H.assertSubtypeOfRuntimeType(key, H.getTypeArgumentByIndex(_this, 0)); |
| H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(_this, 1)); |
| 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, |
| cell = new H.LinkedHashMapCell(H.assertSubtypeOfRuntimeType(key, H.getTypeArgumentByIndex(_this, 0)), H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(_this, 1))); |
| 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); |
| t2._cell = t1._first; |
| return t2; |
| } |
| }; |
| H.LinkedHashMapKeyIterator.prototype = { |
| get$current: function() { |
| return this.__js_helper$_current; |
| }, |
| moveNext$0: function() { |
| var _this = this, |
| t1 = _this._map; |
| if (_this._modifications !== t1._modifications) |
| throw H.wrapException(P.ConcurrentModificationError$(t1)); |
| else { |
| t1 = _this._cell; |
| if (t1 == null) { |
| _this.set$__js_helper$_current(null); |
| return false; |
| } else { |
| _this.set$__js_helper$_current(t1.hashMapCellKey); |
| _this._cell = _this._cell._next; |
| return true; |
| } |
| } |
| }, |
| set$__js_helper$_current: function(_current) { |
| this.__js_helper$_current = H.assertSubtypeOfRuntimeType(_current, H.getTypeArgumentByIndex(this, 0)); |
| } |
| }; |
| 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: 13 |
| }; |
| H.initHooks_closure1.prototype = { |
| call$1: function(tag) { |
| return this.prototypeForTag(H.stringTypeCheck(tag)); |
| }, |
| $signature: 14 |
| }; |
| H.NativeTypedData.prototype = {}; |
| H.NativeTypedArray.prototype = { |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| $isJavaScriptIndexingBehavior: 1, |
| $asJavaScriptIndexingBehavior: function() { |
| } |
| }; |
| H.NativeTypedArrayOfDouble.prototype = { |
| $index: function(receiver, index) { |
| H._checkValidIndex(index, receiver, receiver.length); |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| H.intTypeCheck(index); |
| H.doubleTypeCheck(value); |
| H._checkValidIndex(index, receiver, receiver.length); |
| receiver[index] = value; |
| }, |
| $asFixedLengthListMixin: function() { |
| return [P.double]; |
| }, |
| $asListMixin: function() { |
| return [P.double]; |
| }, |
| $isIterable: 1, |
| $asIterable: function() { |
| return [P.double]; |
| }, |
| $isList: 1, |
| $asList: function() { |
| return [P.double]; |
| } |
| }; |
| H.NativeTypedArrayOfInt.prototype = { |
| $indexSet: function(receiver, index, value) { |
| H.intTypeCheck(index); |
| H.intTypeCheck(value); |
| H._checkValidIndex(index, receiver, receiver.length); |
| receiver[index] = value; |
| }, |
| $asFixedLengthListMixin: function() { |
| return [P.int]; |
| }, |
| $asListMixin: function() { |
| return [P.int]; |
| }, |
| $isIterable: 1, |
| $asIterable: function() { |
| return [P.int]; |
| }, |
| $isList: 1, |
| $asList: function() { |
| return [P.int]; |
| } |
| }; |
| 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 = {}; |
| P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { |
| call$1: function(_) { |
| var t1 = this._box_0, |
| f = t1.storedCallback; |
| t1.storedCallback = null; |
| f.call$0(); |
| }, |
| $signature: 7 |
| }; |
| P._AsyncRun__initializeScheduleImmediate_closure.prototype = { |
| call$1: function(callback) { |
| var t1, t2; |
| this._box_0.storedCallback = H.functionTypeCheck(callback, {func: 1, ret: -1}); |
| t1 = this.div; |
| t2 = this.span; |
| t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); |
| }, |
| $signature: 15 |
| }; |
| P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { |
| call$0: function() { |
| this.callback.call$0(); |
| }, |
| "call*": "call$0", |
| $requiredArgCount: 0, |
| $signature: 1 |
| }; |
| P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { |
| call$0: function() { |
| this.callback.call$0(); |
| }, |
| "call*": "call$0", |
| $requiredArgCount: 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(); |
| }, |
| "call*": "call$0", |
| $requiredArgCount: 0, |
| $signature: 0 |
| }; |
| P._AsyncAwaitCompleter.prototype = { |
| complete$1: function(_, value) { |
| var t2, t3, _this = this, |
| t1 = H.getTypeArgumentByIndex(_this, 0); |
| H.futureOrCheck(value, {futureOr: 1, type: t1}); |
| t2 = !_this.isSync || H.checkSubtype(value, "$isFuture", _this.$ti, "$asFuture"); |
| t3 = _this._future; |
| if (t2) |
| t3._asyncComplete$1(value); |
| else |
| t3._completeWithValue$1(H.assertSubtypeOfRuntimeType(value, t1)); |
| }, |
| completeError$2: function(e, st) { |
| var t1 = this._future; |
| if (this.isSync) |
| t1._completeError$2(e, st); |
| else |
| t1._asyncCompleteError$2(e, st); |
| } |
| }; |
| 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, H.interceptedTypeCheck(stackTrace, "$isStackTrace"))); |
| }, |
| "call*": "call$2", |
| $requiredArgCount: 2, |
| $signature: 16 |
| }; |
| P._wrapJsFunctionForAsync_closure.prototype = { |
| call$2: function(errorCode, result) { |
| this.$protected(H.intTypeCheck(errorCode), result); |
| }, |
| $signature: 17 |
| }; |
| P._Completer.prototype = { |
| completeError$2: function(error, stackTrace) { |
| var t1; |
| if (error == null) |
| error = new P.NullThrownError(); |
| t1 = this.future; |
| if (t1._state !== 0) |
| throw H.wrapException(P.StateError$("Future already completed")); |
| t1._asyncCompleteError$2(error, stackTrace); |
| }, |
| completeError$1: function(error) { |
| return this.completeError$2(error, null); |
| } |
| }; |
| P._AsyncCompleter.prototype = { |
| complete$1: function(_, value) { |
| var t1; |
| H.futureOrCheck(value, {futureOr: 1, type: H.getTypeArgumentByIndex(this, 0)}); |
| t1 = this.future; |
| if (t1._state !== 0) |
| throw H.wrapException(P.StateError$("Future already completed")); |
| t1._asyncComplete$1(value); |
| } |
| }; |
| P._FutureListener.prototype = { |
| matchesErrorTest$1: function(asyncError) { |
| if ((this.state & 15) !== 6) |
| return true; |
| return this.result._zone.runUnary$2$2(H.functionTypeCheck(this.callback, {func: 1, ret: P.bool, args: [P.Object]}), asyncError.error, P.bool, P.Object); |
| }, |
| handleError$1: function(asyncError) { |
| var errorCallback = this.errorCallback, |
| t1 = P.Object, |
| t2 = {futureOr: 1, type: H.getTypeArgumentByIndex(this, 1)}, |
| t3 = this.result._zone; |
| if (H.functionTypeTest(errorCallback, {func: 1, args: [P.Object, P.StackTrace]})) |
| return H.futureOrCheck(t3.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, null, t1, P.StackTrace), t2); |
| else |
| return H.futureOrCheck(t3.runUnary$2$2(H.functionTypeCheck(errorCallback, {func: 1, args: [P.Object]}), asyncError.error, null, t1), t2); |
| } |
| }; |
| P._Future.prototype = { |
| then$1$2$onError: function(f, onError, $R) { |
| var currentZone, result, t2, |
| t1 = H.getTypeArgumentByIndex(this, 0); |
| H.functionTypeCheck(f, {func: 1, ret: {futureOr: 1, type: $R}, args: [t1]}); |
| currentZone = $.Zone__current; |
| if (currentZone !== C.C__RootZone) { |
| H.functionTypeCheck(f, {func: 1, ret: {futureOr: 1, type: $R}, args: [t1]}); |
| if (onError != null) |
| onError = P._registerErrorHandler(onError, currentZone); |
| } |
| result = new P._Future($.Zone__current, [$R]); |
| t2 = onError == null ? 1 : 3; |
| this._addListener$1(new P._FutureListener(result, t2, f, onError, [t1, $R])); |
| 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 = H.getTypeArgumentByIndex(this, 0); |
| H.functionTypeCheck(f, {func: 1, ret: {futureOr: 1, type: $E}, args: [t1]}); |
| result = new P._Future($.Zone__current, [$E]); |
| this._addListener$1(new P._FutureListener(result, (onError == null ? 1 : 3) | 16, f, onError, [t1, $E])); |
| return result; |
| }, |
| whenComplete$1: function(action) { |
| var t1, result; |
| H.functionTypeCheck(action, {func: 1}); |
| t1 = $.Zone__current; |
| result = new P._Future(t1, this.$ti); |
| if (t1 !== C.C__RootZone) |
| action = H.functionTypeCheck(action, {func: 1, ret: null}); |
| t1 = H.getTypeArgumentByIndex(this, 0); |
| this._addListener$1(new P._FutureListener(result, 8, action, null, [t1, t1])); |
| return result; |
| }, |
| _addListener$1: function(listener) { |
| var source, _this = this, |
| t1 = _this._state; |
| if (t1 <= 1) { |
| listener._nextListener = H.interceptedTypeCheck(_this._resultOrListeners, "$is_FutureListener"); |
| _this._resultOrListeners = listener; |
| } else { |
| if (t1 === 2) { |
| source = H.interceptedTypeCheck(_this._resultOrListeners, "$is_Future"); |
| t1 = source._state; |
| if (t1 < 4) { |
| source._addListener$1(listener); |
| return; |
| } |
| _this._state = t1; |
| _this._resultOrListeners = source._resultOrListeners; |
| } |
| P._rootScheduleMicrotask(null, null, _this._zone, H.functionTypeCheck(new P._Future__addListener_closure(_this, listener), {func: 1, ret: -1})); |
| } |
| }, |
| _prependListeners$1: function(listeners) { |
| var t1, existingListeners, cursor, cursor0, source, _this = this, _box_0 = {}; |
| _box_0.listeners = listeners; |
| if (listeners == null) |
| return; |
| t1 = _this._state; |
| if (t1 <= 1) { |
| existingListeners = H.interceptedTypeCheck(_this._resultOrListeners, "$is_FutureListener"); |
| cursor = _this._resultOrListeners = listeners; |
| if (existingListeners != null) { |
| for (; cursor0 = cursor._nextListener, cursor0 != null; cursor = cursor0) |
| ; |
| cursor._nextListener = existingListeners; |
| } |
| } else { |
| if (t1 === 2) { |
| source = H.interceptedTypeCheck(_this._resultOrListeners, "$is_Future"); |
| 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, H.functionTypeCheck(new P._Future__prependListeners_closure(_box_0, _this), {func: 1, ret: -1})); |
| } |
| }, |
| _removeListeners$0: function() { |
| var current = H.interceptedTypeCheck(this._resultOrListeners, "$is_FutureListener"); |
| 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; |
| }, |
| _complete$1: function(value) { |
| var t2, listeners, _this = this, |
| t1 = H.getTypeArgumentByIndex(_this, 0); |
| H.futureOrCheck(value, {futureOr: 1, type: t1}); |
| t2 = _this.$ti; |
| if (H.checkSubtype(value, "$isFuture", t2, "$asFuture")) |
| if (H.checkSubtype(value, "$is_Future", t2, null)) |
| P._Future__chainCoreFuture(value, _this); |
| else |
| P._Future__chainForeignFuture(value, _this); |
| else { |
| listeners = _this._removeListeners$0(); |
| H.assertSubtypeOfRuntimeType(value, t1); |
| _this._state = 4; |
| _this._resultOrListeners = value; |
| P._Future__propagateToListeners(_this, listeners); |
| } |
| }, |
| _completeWithValue$1: function(value) { |
| var listeners, _this = this; |
| H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(_this, 0)); |
| listeners = _this._removeListeners$0(); |
| _this._state = 4; |
| _this._resultOrListeners = value; |
| P._Future__propagateToListeners(_this, listeners); |
| }, |
| _completeError$2: function(error, stackTrace) { |
| var listeners, _this = this; |
| H.interceptedTypeCheck(stackTrace, "$isStackTrace"); |
| listeners = _this._removeListeners$0(); |
| _this._state = 8; |
| _this._resultOrListeners = new P.AsyncError(error, stackTrace); |
| P._Future__propagateToListeners(_this, listeners); |
| }, |
| _completeError$1: function(error) { |
| return this._completeError$2(error, null); |
| }, |
| _asyncComplete$1: function(value) { |
| var _this = this; |
| H.futureOrCheck(value, {futureOr: 1, type: H.getTypeArgumentByIndex(_this, 0)}); |
| if (H.checkSubtype(value, "$isFuture", _this.$ti, "$asFuture")) { |
| _this._chainFuture$1(value); |
| return; |
| } |
| _this._state = 1; |
| P._rootScheduleMicrotask(null, null, _this._zone, H.functionTypeCheck(new P._Future__asyncComplete_closure(_this, value), {func: 1, ret: -1})); |
| }, |
| _chainFuture$1: function(value) { |
| var _this = this, |
| t1 = _this.$ti; |
| H.assertSubtype(value, "$isFuture", t1, "$asFuture"); |
| if (H.checkSubtype(value, "$is_Future", t1, null)) { |
| if (value._state === 8) { |
| _this._state = 1; |
| P._rootScheduleMicrotask(null, null, _this._zone, H.functionTypeCheck(new P._Future__chainFuture_closure(_this, value), {func: 1, ret: -1})); |
| } else |
| P._Future__chainCoreFuture(value, _this); |
| return; |
| } |
| P._Future__chainForeignFuture(value, _this); |
| }, |
| _asyncCompleteError$2: function(error, stackTrace) { |
| H.interceptedTypeCheck(stackTrace, "$isStackTrace"); |
| this._state = 1; |
| P._rootScheduleMicrotask(null, null, this._zone, H.functionTypeCheck(new P._Future__asyncCompleteError_closure(this, error, stackTrace), {func: 1, ret: -1})); |
| }, |
| $isFuture: 1 |
| }; |
| P._Future__addListener_closure.prototype = { |
| call$0: function() { |
| P._Future__propagateToListeners(this.$this, this.listener); |
| }, |
| $signature: 1 |
| }; |
| P._Future__prependListeners_closure.prototype = { |
| call$0: function() { |
| P._Future__propagateToListeners(this.$this, this._box_0.listeners); |
| }, |
| $signature: 1 |
| }; |
| P._Future__chainForeignFuture_closure.prototype = { |
| call$1: function(value) { |
| var t1 = this.target; |
| t1._state = 0; |
| t1._complete$1(value); |
| }, |
| $signature: 7 |
| }; |
| P._Future__chainForeignFuture_closure0.prototype = { |
| call$2: function(error, stackTrace) { |
| H.interceptedTypeCheck(stackTrace, "$isStackTrace"); |
| this.target._completeError$2(error, stackTrace); |
| }, |
| call$1: function(error) { |
| return this.call$2(error, null); |
| }, |
| "call*": "call$2", |
| $defaultValues: function() { |
| return [null]; |
| }, |
| $signature: 18 |
| }; |
| P._Future__chainForeignFuture_closure1.prototype = { |
| call$0: function() { |
| this.target._completeError$2(this.e, this.s); |
| }, |
| $signature: 1 |
| }; |
| P._Future__asyncComplete_closure.prototype = { |
| call$0: function() { |
| var t1 = this.$this; |
| t1._completeWithValue$1(H.assertSubtypeOfRuntimeType(this.value, H.getTypeArgumentByIndex(t1, 0))); |
| }, |
| $signature: 1 |
| }; |
| P._Future__chainFuture_closure.prototype = { |
| call$0: function() { |
| P._Future__chainCoreFuture(this.value, this.$this); |
| }, |
| $signature: 1 |
| }; |
| P._Future__asyncCompleteError_closure.prototype = { |
| call$0: function() { |
| this.$this._completeError$2(this.error, this.stackTrace); |
| }, |
| $signature: 1 |
| }; |
| P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { |
| call$0: function() { |
| var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null; |
| try { |
| t1 = _this.listener; |
| completeResult = t1.result._zone.run$1$1(H.functionTypeCheck(t1.callback, {func: 1}), null); |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| if (_this.hasError) { |
| t1 = H.interceptedTypeCheck(_this._box_1.source._resultOrListeners, "$isAsyncError").error; |
| t2 = e; |
| t2 = t1 == null ? t2 == null : t1 === t2; |
| t1 = t2; |
| } else |
| t1 = false; |
| t2 = _this._box_0; |
| if (t1) |
| t2.listenerValueOrError = H.interceptedTypeCheck(_this._box_1.source._resultOrListeners, "$isAsyncError"); |
| else |
| t2.listenerValueOrError = new P.AsyncError(e, s); |
| t2.listenerHasError = true; |
| return; |
| } |
| if (!!J.getInterceptor$(completeResult).$isFuture) { |
| if (completeResult instanceof P._Future && completeResult._state >= 4) { |
| if (completeResult._state === 8) { |
| t1 = _this._box_0; |
| t1.listenerValueOrError = H.interceptedTypeCheck(completeResult._resultOrListeners, "$isAsyncError"); |
| t1.listenerHasError = true; |
| } |
| return; |
| } |
| originalSource = _this._box_1.source; |
| t1 = _this._box_0; |
| t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), null); |
| t1.listenerHasError = false; |
| } |
| }, |
| $signature: 0 |
| }; |
| P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { |
| call$1: function(_) { |
| return this.originalSource; |
| }, |
| $signature: 19 |
| }; |
| P._Future__propagateToListeners_handleValueCallback.prototype = { |
| call$0: function() { |
| var e, s, t1, t2, t3, t4, exception, _this = this; |
| try { |
| t1 = _this.listener; |
| t2 = H.getTypeArgumentByIndex(t1, 0); |
| t3 = H.assertSubtypeOfRuntimeType(_this.sourceResult, t2); |
| t4 = H.getTypeArgumentByIndex(t1, 1); |
| _this._box_0.listenerValueOrError = t1.result._zone.runUnary$2$2(H.functionTypeCheck(t1.callback, {func: 1, ret: {futureOr: 1, type: t4}, args: [t2]}), t3, {futureOr: 1, type: t4}, t2); |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| t1 = _this._box_0; |
| t1.listenerValueOrError = new P.AsyncError(e, s); |
| t1.listenerHasError = true; |
| } |
| }, |
| $signature: 0 |
| }; |
| P._Future__propagateToListeners_handleError.prototype = { |
| call$0: function() { |
| var asyncError, e, s, t1, t2, exception, t3, t4, _this = this; |
| try { |
| asyncError = H.interceptedTypeCheck(_this._box_1.source._resultOrListeners, "$isAsyncError"); |
| t1 = _this.listener; |
| if (H.boolConversionCheck(t1.matchesErrorTest$1(asyncError)) && t1.errorCallback != null) { |
| t2 = _this._box_0; |
| t2.listenerValueOrError = t1.handleError$1(asyncError); |
| t2.listenerHasError = false; |
| } |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| t1 = H.interceptedTypeCheck(_this._box_1.source._resultOrListeners, "$isAsyncError"); |
| t2 = t1.error; |
| t3 = e; |
| t4 = _this._box_0; |
| if (t2 == null ? t3 == null : t2 === t3) |
| t4.listenerValueOrError = t1; |
| else |
| t4.listenerValueOrError = new 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, [P.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; |
| } |
| }; |
| P.Stream_length_closure.prototype = { |
| call$1: function(_) { |
| H.assertSubtypeOfRuntimeType(_, H.getTypeArgumentByIndex(this.$this, 0)); |
| ++this._box_0.count; |
| }, |
| $signature: function() { |
| return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(this.$this, 0)]}; |
| } |
| }; |
| P.Stream_length_closure0.prototype = { |
| call$0: function() { |
| this.future._complete$1(this._box_0.count); |
| }, |
| $signature: 1 |
| }; |
| P.StreamSubscription.prototype = {}; |
| P.StreamTransformerBase.prototype = {}; |
| P._StreamController.prototype = { |
| get$_pendingEvents: function() { |
| var t1, _this = this; |
| if ((_this._state & 8) === 0) |
| return H.assertSubtype(_this._varData, "$is_PendingEvents", _this.$ti, "$as_PendingEvents"); |
| t1 = _this.$ti; |
| return H.assertSubtype(H.assertSubtype(_this._varData, "$is_StreamControllerAddStreamState", t1, "$as_StreamControllerAddStreamState").get$varData(), "$is_PendingEvents", t1, "$as_PendingEvents"); |
| }, |
| _ensurePendingEvents$0: function() { |
| var t1, state, _this = this; |
| if ((_this._state & 8) === 0) { |
| t1 = _this._varData; |
| if (t1 == null) |
| t1 = _this._varData = new P._StreamImplEvents(_this.$ti); |
| return H.assertSubtype(t1, "$is_StreamImplEvents", _this.$ti, "$as_StreamImplEvents"); |
| } |
| t1 = _this.$ti; |
| state = H.assertSubtype(_this._varData, "$is_StreamControllerAddStreamState", t1, "$as_StreamControllerAddStreamState"); |
| state.get$varData(); |
| return H.assertSubtype(state.get$varData(), "$is_StreamImplEvents", t1, "$as_StreamImplEvents"); |
| }, |
| get$_subscription: function() { |
| var t1, _this = this; |
| if ((_this._state & 8) !== 0) { |
| t1 = _this.$ti; |
| return H.assertSubtype(H.assertSubtype(_this._varData, "$is_StreamControllerAddStreamState", t1, "$as_StreamControllerAddStreamState").get$varData(), "$is_ControllerSubscription", t1, "$as_ControllerSubscription"); |
| } |
| return H.assertSubtype(_this._varData, "$is_ControllerSubscription", _this.$ti, "$as_ControllerSubscription"); |
| }, |
| _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, [null]); |
| return t1; |
| }, |
| add$1: function(_, value) { |
| var t1, _this = this; |
| H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(_this, 0)); |
| t1 = _this._state; |
| if (t1 >= 4) |
| throw H.wrapException(_this._badEventState$0()); |
| if ((t1 & 1) !== 0) |
| _this._sendData$1(value); |
| else if ((t1 & 3) === 0) |
| _this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, _this.$ti)); |
| }, |
| 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, subscription, pendingEvents, addState, _this = this, |
| t1 = H.getTypeArgumentByIndex(_this, 0); |
| H.functionTypeCheck(onData, {func: 1, ret: -1, args: [t1]}); |
| H.functionTypeCheck(onDone, {func: 1, ret: -1}); |
| if ((_this._state & 3) !== 0) |
| throw H.wrapException(P.StateError$("Stream has already been listened to.")); |
| t2 = $.Zone__current; |
| t3 = cancelOnError ? 1 : 0; |
| t4 = _this.$ti; |
| subscription = new P._ControllerSubscription(_this, t2, t3, t4); |
| subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, t1); |
| pendingEvents = _this.get$_pendingEvents(); |
| t1 = _this._state |= 1; |
| if ((t1 & 8) !== 0) { |
| addState = H.assertSubtype(_this._varData, "$is_StreamControllerAddStreamState", t4, "$as_StreamControllerAddStreamState"); |
| addState.set$varData(subscription); |
| addState.resume$0(); |
| } else |
| _this._varData = subscription; |
| subscription._setPendingEvents$1(pendingEvents); |
| subscription._guardCallback$1(new P._StreamController__subscribe_closure(_this)); |
| return subscription; |
| }, |
| _recordCancel$1: function(subscription) { |
| var result, _this = this, |
| t1 = _this.$ti; |
| H.assertSubtype(subscription, "$isStreamSubscription", t1, "$asStreamSubscription"); |
| result = null; |
| if ((_this._state & 8) !== 0) |
| result = H.assertSubtype(_this._varData, "$is_StreamControllerAddStreamState", t1, "$as_StreamControllerAddStreamState").cancel$0(); |
| _this._varData = null; |
| _this._state = _this._state & 4294967286 | 2; |
| 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: 1 |
| }; |
| P._StreamController__recordCancel_complete.prototype = { |
| call$0: function() { |
| var t1 = this.$this._doneFuture; |
| if (t1 != null && t1._state === 0) |
| t1._asyncComplete$1(null); |
| }, |
| $signature: 0 |
| }; |
| P._AsyncStreamControllerDispatch.prototype = { |
| _sendData$1: function(data) { |
| var t1 = H.getTypeArgumentByIndex(this, 0); |
| H.assertSubtypeOfRuntimeType(data, t1); |
| this.get$_subscription()._addPending$1(new P._DelayedData(data, [t1])); |
| }, |
| _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.getTypeArgumentByIndex(t1, 0); |
| H.assertSubtype(this, "$isStreamSubscription", [t2], "$asStreamSubscription"); |
| if ((t1._state & 8) !== 0) |
| C.JSNull_methods.pause$0(H.assertSubtype(t1._varData, "$is_StreamControllerAddStreamState", [t2], "$as_StreamControllerAddStreamState")); |
| P._runGuarded(t1.onPause); |
| }, |
| _onResume$0: function() { |
| var t1 = this._controller, |
| t2 = H.getTypeArgumentByIndex(t1, 0); |
| H.assertSubtype(this, "$isStreamSubscription", [t2], "$asStreamSubscription"); |
| if ((t1._state & 8) !== 0) |
| H.assertSubtype(t1._varData, "$is_StreamControllerAddStreamState", [t2], "$as_StreamControllerAddStreamState").resume$0(); |
| P._runGuarded(t1.onResume); |
| } |
| }; |
| P._StreamSinkWrapper.prototype = {}; |
| P._BufferingStreamSubscription.prototype = { |
| _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError, $T) { |
| var handleError, handleDone, _this = this, |
| t1 = H.getTypeArgumentByIndex(_this, 0); |
| H.functionTypeCheck(onData, {func: 1, ret: -1, args: [t1]}); |
| _this.set$_onData(H.functionTypeCheck(onData, {func: 1, ret: null, args: [t1]})); |
| handleError = onError == null ? P.async___nullErrorHandler$closure() : onError; |
| if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]})) |
| _this._onError = _this._zone.registerBinaryCallback$3$1(handleError, null, P.Object, P.StackTrace); |
| else if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object]})) |
| _this._onError = H.functionTypeCheck(handleError, {func: 1, ret: null, args: [P.Object]}); |
| else |
| H.throwExpression(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.")); |
| H.functionTypeCheck(onDone, {func: 1, ret: -1}); |
| handleDone = onDone == null ? P.async___nullDoneHandler$closure() : onDone; |
| _this.set$_onDone(H.functionTypeCheck(handleDone, {func: 1, ret: -1})); |
| }, |
| _setPendingEvents$1: function(pendingEvents) { |
| var _this = this; |
| H.assertSubtype(pendingEvents, "$is_PendingEvents", _this.$ti, "$as_PendingEvents"); |
| if (pendingEvents == null) |
| return; |
| _this.set$_pending(pendingEvents); |
| if (pendingEvents.lastPendingEvent != null) { |
| _this._state = (_this._state | 64) >>> 0; |
| _this._pending.schedule$1(_this); |
| } |
| }, |
| pause$0: function(_) { |
| var t2, t3, _this = this, |
| t1 = _this._state; |
| if ((t1 & 8) !== 0) |
| return; |
| t2 = (t1 + 128 | 4) >>> 0; |
| _this._state = t2; |
| if (t1 < 128 && _this._pending != null) { |
| t3 = _this._pending; |
| if (t3._state === 1) |
| t3._state = 3; |
| } |
| if ((t1 & 4) === 0 && (t2 & 32) === 0) |
| _this._guardCallback$1(_this.get$_onPause()); |
| }, |
| resume$0: function() { |
| var _this = this, |
| t1 = _this._state; |
| if ((t1 & 8) !== 0) |
| return; |
| if (t1 >= 128) { |
| t1 = _this._state = t1 - 128; |
| if (t1 < 128) |
| if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null) |
| _this._pending.schedule$1(_this); |
| else { |
| t1 = (t1 & 4294967291) >>> 0; |
| _this._state = t1; |
| if ((t1 & 32) === 0) |
| _this._guardCallback$1(_this.get$_onResume()); |
| } |
| } |
| }, |
| cancel$0: function() { |
| var _this = this, |
| t1 = (_this._state & 4294967279) >>> 0; |
| _this._state = t1; |
| if ((t1 & 8) === 0) |
| _this._cancel$0(); |
| t1 = _this._cancelFuture; |
| return t1 == null ? $.$get$Future__nullFuture() : t1; |
| }, |
| _cancel$0: function() { |
| var t2, _this = this, |
| t1 = _this._state = (_this._state | 8) >>> 0; |
| 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; |
| }, |
| _addPending$1: function($event) { |
| var _this = this, |
| t1 = _this.$ti, |
| pending = H.assertSubtype(_this._pending, "$is_StreamImplEvents", t1, "$as_StreamImplEvents"); |
| if (pending == null) { |
| pending = new P._StreamImplEvents(t1); |
| _this.set$_pending(pending); |
| } |
| pending.add$1(0, $event); |
| t1 = _this._state; |
| if ((t1 & 64) === 0) { |
| t1 = (t1 | 64) >>> 0; |
| _this._state = t1; |
| if (t1 < 128) |
| _this._pending.schedule$1(_this); |
| } |
| }, |
| _sendData$1: function(data) { |
| var t2, _this = this, |
| t1 = H.getTypeArgumentByIndex(_this, 0); |
| H.assertSubtypeOfRuntimeType(data, t1); |
| t2 = _this._state; |
| _this._state = (t2 | 32) >>> 0; |
| _this._zone.runUnaryGuarded$1$2(_this._onData, data, t1); |
| _this._state = (_this._state & 4294967263) >>> 0; |
| _this._checkState$1((t2 & 4) !== 0); |
| }, |
| _sendError$2: function(error, stackTrace) { |
| var _this = this, |
| t1 = _this._state, |
| t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace); |
| if ((t1 & 1) !== 0) { |
| _this._state = (t1 | 16) >>> 0; |
| _this._cancel$0(); |
| t1 = _this._cancelFuture; |
| if (t1 != null && t1 !== $.$get$Future__nullFuture()) |
| t1.whenComplete$1(t2); |
| else |
| t2.call$0(); |
| } else { |
| t2.call$0(); |
| _this._checkState$1((t1 & 4) !== 0); |
| } |
| }, |
| _sendDone$0: function() { |
| var t2, _this = this, |
| t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this); |
| _this._cancel$0(); |
| _this._state = (_this._state | 16) >>> 0; |
| t2 = _this._cancelFuture; |
| if (t2 != null && t2 !== $.$get$Future__nullFuture()) |
| t2.whenComplete$1(t1); |
| else |
| t1.call$0(); |
| }, |
| _guardCallback$1: function(callback) { |
| var t1, _this = this; |
| H.functionTypeCheck(callback, {func: 1, ret: -1}); |
| t1 = _this._state; |
| _this._state = (t1 | 32) >>> 0; |
| callback.call$0(); |
| _this._state = (_this._state & 4294967263) >>> 0; |
| _this._checkState$1((t1 & 4) !== 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) >>> 0; |
| if ((t1 & 4) !== 0) |
| if (t1 < 128) { |
| t2 = _this._pending; |
| t2 = t2 == null || t2.lastPendingEvent == null; |
| } else |
| t2 = false; |
| else |
| t2 = false; |
| if (t2) { |
| t1 = (t1 & 4294967291) >>> 0; |
| _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) >>> 0; |
| if (isInputPaused) |
| _this._onPause$0(); |
| else |
| _this._onResume$0(); |
| t1 = (_this._state & 4294967263) >>> 0; |
| _this._state = t1; |
| } |
| if ((t1 & 64) !== 0 && t1 < 128) |
| _this._pending.schedule$1(_this); |
| }, |
| set$_onData: function(_onData) { |
| this._onData = H.functionTypeCheck(_onData, {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this, 0)]}); |
| }, |
| set$_onDone: function(_onDone) { |
| this._onDone = H.functionTypeCheck(_onDone, {func: 1, ret: -1}); |
| }, |
| set$_pending: function(_pending) { |
| this._pending = H.assertSubtype(_pending, "$is_PendingEvents", this.$ti, "$as_PendingEvents"); |
| }, |
| $isStreamSubscription: 1, |
| $is_EventDispatch: 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) >>> 0; |
| onError = t1._onError; |
| t2 = this.error; |
| t3 = P.Object; |
| t4 = t1._zone; |
| if (H.functionTypeTest(onError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]})) |
| t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, P.StackTrace); |
| else |
| t4.runUnaryGuarded$1$2(H.functionTypeCheck(t1._onError, {func: 1, ret: -1, args: [P.Object]}), t2, t3); |
| t1._state = (t1._state & 4294967263) >>> 0; |
| }, |
| $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) >>> 0; |
| t1._zone.runGuarded$1(t1._onDone); |
| t1._state = (t1._state & 4294967263) >>> 0; |
| }, |
| $signature: 0 |
| }; |
| P._StreamImpl.prototype = { |
| listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
| H.functionTypeCheck(onData, {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this, 0)]}); |
| H.functionTypeCheck(onDone, {func: 1, ret: -1}); |
| return this._controller._subscribe$4(H.functionTypeCheck(onData, {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this, 0)]}), onError, onDone, true === cancelOnError); |
| }, |
| listen$1: function(onData) { |
| return this.listen$4$cancelOnError$onDone$onError(onData, null, 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 = H.interceptedTypeCheck(next, "$is_DelayedEvent"); |
| }, |
| get$next: function() { |
| return this.next; |
| } |
| }; |
| P._DelayedData.prototype = { |
| perform$1: function(dispatch) { |
| H.assertSubtype(dispatch, "$is_EventDispatch", this.$ti, "$as_EventDispatch")._sendData$1(this.value); |
| } |
| }; |
| P._DelayedError.prototype = { |
| perform$1: function(dispatch) { |
| dispatch._sendError$2(this.error, this.stackTrace); |
| }, |
| $as_DelayedEvent: function() { |
| } |
| }; |
| P._DelayedDone.prototype = { |
| perform$1: function(dispatch) { |
| dispatch._sendDone$0(); |
| }, |
| get$next: function() { |
| return; |
| }, |
| set$next: function(_) { |
| throw H.wrapException(P.StateError$("No events after a done.")); |
| }, |
| $is_DelayedEvent: 1, |
| $as_DelayedEvent: function() { |
| } |
| }; |
| P._PendingEvents.prototype = { |
| schedule$1: function(dispatch) { |
| var t1, _this = this; |
| H.assertSubtype(dispatch, "$is_EventDispatch", _this.$ti, "$as_EventDispatch"); |
| 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, t3, |
| t1 = this.$this, |
| oldState = t1._state; |
| t1._state = 0; |
| if (oldState === 3) |
| return; |
| t2 = H.assertSubtype(this.dispatch, "$is_EventDispatch", [H.getTypeArgumentByIndex(t1, 0)], "$as_EventDispatch"); |
| $event = t1.firstPendingEvent; |
| t3 = $event.get$next(); |
| t1.firstPendingEvent = t3; |
| if (t3 == null) |
| t1.lastPendingEvent = null; |
| $event.perform$1(t2); |
| }, |
| $signature: 1 |
| }; |
| P._StreamImplEvents.prototype = { |
| add$1: function(_, $event) { |
| var _this = this, |
| t1 = _this.lastPendingEvent; |
| if (t1 == null) |
| _this.firstPendingEvent = _this.lastPendingEvent = $event; |
| else { |
| t1.set$next($event); |
| _this.lastPendingEvent = $event; |
| } |
| } |
| }; |
| P._StreamIterator.prototype = { |
| get$current: function() { |
| var _this = this; |
| if (_this._subscription != null && _this._isPaused) |
| return H.assertSubtypeOfRuntimeType(_this._stateData, H.getTypeArgumentByIndex(_this, 0)); |
| return; |
| }, |
| moveNext$0: function() { |
| var future, _this = this, |
| t1 = _this._subscription; |
| if (t1 != null) { |
| if (_this._isPaused) { |
| future = new P._Future($.Zone__current, [P.bool]); |
| _this._stateData = future; |
| _this._isPaused = false; |
| t1.resume$0(); |
| return future; |
| } |
| throw H.wrapException(P.StateError$("Already waiting for next.")); |
| } |
| return _this._initializeOrDone$0(); |
| }, |
| _initializeOrDone$0: function() { |
| var _this = this, |
| stateData = _this._stateData; |
| if (stateData != null) { |
| _this._subscription = H.assertSubtype(stateData, "$isStream", _this.$ti, "$asStream").listen$4$cancelOnError$onDone$onError(_this.get$_onData(), true, _this.get$_onDone(), _this.get$_onError()); |
| return _this._stateData = new P._Future($.Zone__current, [P.bool]); |
| } |
| return $.$get$Future__falseFuture(); |
| }, |
| cancel$0: function() { |
| var _this = this, |
| subscription = H.assertSubtype(_this._subscription, "$isStreamSubscription", _this.$ti, "$asStreamSubscription"), |
| stateData = _this._stateData; |
| _this._stateData = null; |
| if (subscription != null) { |
| _this._subscription = null; |
| if (!_this._isPaused) |
| H.assertSubtype(stateData, "$is_Future", [P.bool], "$as_Future")._asyncComplete$1(false); |
| return subscription.cancel$0(); |
| } |
| return $.$get$Future__nullFuture(); |
| }, |
| _onData$1: function(data) { |
| var moveNextFuture, t1, _this = this; |
| H.assertSubtypeOfRuntimeType(data, H.getTypeArgumentByIndex(_this, 0)); |
| moveNextFuture = H.assertSubtype(_this._stateData, "$is_Future", [P.bool], "$as_Future"); |
| _this._stateData = data; |
| _this._isPaused = true; |
| moveNextFuture._complete$1(true); |
| t1 = _this._subscription; |
| if (t1 != null && _this._isPaused) |
| t1.pause$0(0); |
| }, |
| _onError$2: function(error, stackTrace) { |
| var moveNextFuture; |
| H.interceptedTypeCheck(stackTrace, "$isStackTrace"); |
| moveNextFuture = H.assertSubtype(this._stateData, "$is_Future", [P.bool], "$as_Future"); |
| this._stateData = this._subscription = null; |
| moveNextFuture._completeError$2(error, stackTrace); |
| }, |
| _onError$1: function(error) { |
| return this._onError$2(error, null); |
| }, |
| _onDone$0: function() { |
| var moveNextFuture = H.assertSubtype(this._stateData, "$is_Future", [P.bool], "$as_Future"); |
| this._stateData = this._subscription = null; |
| moveNextFuture._complete$1(false); |
| } |
| }; |
| P.AsyncError.prototype = { |
| toString$0: function(_) { |
| return H.S(this.error); |
| }, |
| $isError: 1 |
| }; |
| P._Zone.prototype = {$isZone: 1}; |
| P._rootHandleUncaughtError_closure.prototype = { |
| call$0: function() { |
| var error, |
| t1 = this._box_0, |
| t2 = t1.error; |
| t1 = t2 == null ? t1.error = new P.NullThrownError() : t2; |
| t2 = this.stackTrace; |
| if (t2 == null) |
| throw H.wrapException(t1); |
| error = H.wrapException(t1); |
| error.stack = t2.toString$0(0); |
| throw error; |
| }, |
| $signature: 1 |
| }; |
| P._RootZone.prototype = { |
| runGuarded$1: function(f) { |
| var e, s, exception, _null = null; |
| H.functionTypeCheck(f, {func: 1, ret: -1}); |
| try { |
| if (C.C__RootZone === $.Zone__current) { |
| f.call$0(); |
| return; |
| } |
| P._rootRun(_null, _null, this, f, -1); |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| P._rootHandleUncaughtError(_null, _null, this, e, H.interceptedTypeCheck(s, "$isStackTrace")); |
| } |
| }, |
| runUnaryGuarded$1$2: function(f, arg, $T) { |
| var e, s, exception, _null = null; |
| H.functionTypeCheck(f, {func: 1, ret: -1, args: [$T]}); |
| H.assertSubtypeOfRuntimeType(arg, $T); |
| try { |
| if (C.C__RootZone === $.Zone__current) { |
| f.call$1(arg); |
| return; |
| } |
| P._rootRunUnary(_null, _null, this, f, arg, -1, $T); |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| P._rootHandleUncaughtError(_null, _null, this, e, H.interceptedTypeCheck(s, "$isStackTrace")); |
| } |
| }, |
| runBinaryGuarded$2$3: function(f, arg1, arg2, T1, T2) { |
| var e, s, exception, _null = null; |
| H.functionTypeCheck(f, {func: 1, ret: -1, args: [T1, T2]}); |
| H.assertSubtypeOfRuntimeType(arg1, T1); |
| H.assertSubtypeOfRuntimeType(arg2, T2); |
| try { |
| if (C.C__RootZone === $.Zone__current) { |
| f.call$2(arg1, arg2); |
| return; |
| } |
| P._rootRunBinary(_null, _null, this, f, arg1, arg2, -1, T1, T2); |
| } catch (exception) { |
| e = H.unwrapException(exception); |
| s = H.getTraceFromException(exception); |
| P._rootHandleUncaughtError(_null, _null, this, e, H.interceptedTypeCheck(s, "$isStackTrace")); |
| } |
| }, |
| bindCallback$1$1: function(f, $R) { |
| return new P._RootZone_bindCallback_closure(this, H.functionTypeCheck(f, {func: 1, ret: $R}), $R); |
| }, |
| bindCallbackGuarded$1: function(f) { |
| return new P._RootZone_bindCallbackGuarded_closure(this, H.functionTypeCheck(f, {func: 1, ret: -1})); |
| }, |
| bindUnaryCallbackGuarded$1$1: function(f, $T) { |
| return new P._RootZone_bindUnaryCallbackGuarded_closure(this, H.functionTypeCheck(f, {func: 1, ret: -1, args: [$T]}), $T); |
| }, |
| $index: function(_, key) { |
| return; |
| }, |
| run$1$1: function(f, $R) { |
| H.functionTypeCheck(f, {func: 1, ret: $R}); |
| 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) { |
| H.functionTypeCheck(f, {func: 1, ret: $R, args: [$T]}); |
| H.assertSubtypeOfRuntimeType(arg, $T); |
| 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) { |
| H.functionTypeCheck(f, {func: 1, ret: $R, args: [T1, T2]}); |
| H.assertSubtypeOfRuntimeType(arg1, T1); |
| H.assertSubtypeOfRuntimeType(arg2, T2); |
| 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 H.functionTypeCheck(f, {func: 1, ret: $R, args: [T1, T2]}); |
| } |
| }; |
| P._RootZone_bindCallback_closure.prototype = { |
| call$0: function() { |
| return this.$this.run$1$1(this.f, this.R); |
| }, |
| $signature: function() { |
| return {func: 1, ret: this.R}; |
| } |
| }; |
| 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, H.assertSubtypeOfRuntimeType(arg, t1), t1); |
| }, |
| $signature: function() { |
| return {func: 1, ret: -1, args: [this.T]}; |
| } |
| }; |
| P.ListMixin.prototype = { |
| get$iterator: function(receiver) { |
| return new H.ListIterator(receiver, this.get$length(receiver), [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]); |
| }, |
| elementAt$1: function(receiver, index) { |
| return this.$index(receiver, index); |
| }, |
| get$isNotEmpty: function(receiver) { |
| return this.get$length(receiver) !== 0; |
| }, |
| $add: function(receiver, other) { |
| var result, _this = this, |
| t1 = [H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0)]; |
| H.assertSubtype(other, "$isList", t1, "$asList"); |
| result = H.setRuntimeTypeInfo([], t1); |
| C.JSArray_methods.set$length(result, C.JSInt_methods.$add(_this.get$length(receiver), other.get$length(other))); |
| C.JSArray_methods.setRange$3(result, 0, _this.get$length(receiver), receiver); |
| C.JSArray_methods.setRange$3(result, _this.get$length(receiver), result.length, other); |
| return result; |
| }, |
| 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: 5 |
| }; |
| P.MapMixin.prototype = { |
| forEach$1: function(_, action) { |
| var t1, key, _this = this; |
| H.functionTypeCheck(action, {func: 1, ret: -1, args: [H.getRuntimeTypeArgument(_this, "MapMixin", 0), H.getRuntimeTypeArgument(_this, "MapMixin", 1)]}); |
| 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._UnmodifiableMapMixin.prototype = {}; |
| P.MapView.prototype = { |
| $index: function(_, key) { |
| return this._collection$_map.$index(0, key); |
| }, |
| forEach$1: function(_, action) { |
| this._collection$_map.forEach$1(0, H.functionTypeCheck(action, {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)]})); |
| }, |
| get$isEmpty: function(_) { |
| return this._collection$_map.__js_helper$_length === 0; |
| }, |
| get$length: function(_) { |
| return this._collection$_map.__js_helper$_length; |
| }, |
| toString$0: function(_) { |
| return P.MapBase_mapToString(this._collection$_map); |
| }, |
| $isMap: 1 |
| }; |
| P.UnmodifiableMapView.prototype = {}; |
| P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; |
| 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; |
| 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.getTypeArgumentByIndex(t1, 0)]); |
| } |
| return new P._JsonMapKeyIterable(this); |
| }, |
| forEach$1: function(_, f) { |
| var keys, i, key, value, _this = this; |
| H.functionTypeCheck(f, {func: 1, ret: -1, args: [P.String,,]}); |
| 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 = H.listTypeCheck(this._data); |
| if (keys == null) |
| keys = this._data = H.setRuntimeTypeInfo(Object.keys(this._original), [P.String]); |
| return keys; |
| }, |
| _process$1: function(key) { |
| var result; |
| if (!Object.prototype.hasOwnProperty.call(this._original, key)) |
| return; |
| result = P._convertJsonToDartLazy(this._original[key]); |
| return this._processed[key] = result; |
| }, |
| $asMapMixin: function() { |
| return [P.String, null]; |
| }, |
| $asMap: function() { |
| return [P.String, null]; |
| } |
| }; |
| 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 < 0 || 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.getTypeArgumentByIndex(t1, 0)]); |
| } |
| return t1; |
| }, |
| $asListIterable: function() { |
| return [P.String]; |
| }, |
| $asIterable: function() { |
| return [P.String]; |
| } |
| }; |
| 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 = P._parseJson(source, this.get$decoder()._reviver); |
| return t1; |
| }, |
| encode$2$toEncodable: function(value, toEncodable) { |
| var 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; |
| }, |
| $asCodec: function() { |
| return [P.Object, P.String]; |
| } |
| }; |
| P.JsonEncoder.prototype = { |
| $asConverter: function() { |
| return [P.Object, P.String]; |
| } |
| }; |
| P.JsonDecoder.prototype = { |
| $asConverter: function() { |
| return [P.String, P.Object]; |
| } |
| }; |
| P._JsonStringifier.prototype = { |
| writeStringContent$1: function(s) { |
| var t1, t2, offset, i, charCode, t3, |
| $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) |
| continue; |
| if (charCode < 32) { |
| if (i > offset) |
| t2._contents += C.JSString_methods.substring$2(s, offset, i); |
| offset = i + 1; |
| t2._contents += H.Primitives_stringFromCharCode(92); |
| switch (charCode) { |
| case 8: |
| t2._contents += H.Primitives_stringFromCharCode(98); |
| break; |
| case 9: |
| t2._contents += H.Primitives_stringFromCharCode(116); |
| break; |
| case 10: |
| t2._contents += H.Primitives_stringFromCharCode(110); |
| break; |
| case 12: |
| t2._contents += H.Primitives_stringFromCharCode(102); |
| break; |
| case 13: |
| t2._contents += H.Primitives_stringFromCharCode(114); |
| break; |
| default: |
| t2._contents += H.Primitives_stringFromCharCode(117); |
| t2._contents += H.Primitives_stringFromCharCode(48); |
| t2._contents += H.Primitives_stringFromCharCode(48); |
| t3 = charCode >>> 4 & 15; |
| t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3); |
| t3 = charCode & 15; |
| t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3); |
| break; |
| } |
| } else if (charCode === 34 || charCode === 92) { |
| if (i > offset) |
| t2._contents += C.JSString_methods.substring$2(s, offset, i); |
| offset = i + 1; |
| t2._contents += H.Primitives_stringFromCharCode(92); |
| t2._contents += 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 { |
| t1 = J.getInterceptor$(object); |
| if (!!t1.$isList) { |
| _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 (!!t1.$isMap) { |
| _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 = new Array(t1); |
| keyValueList.fixed$length = Array; |
| 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.stringTypeCheck(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: 5 |
| }; |
| P._JsonStringStringifier.prototype = { |
| get$_partialResult: function() { |
| var t1 = this._sink._contents; |
| return t1.charCodeAt(0) == 0 ? t1 : t1; |
| } |
| }; |
| P._symbolMapToStringMap_closure.prototype = { |
| call$2: function(key, value) { |
| this.result.$indexSet(0, H.interceptedTypeCheck(key, "$isSymbol").__internal$_name, value); |
| }, |
| $signature: 8 |
| }; |
| P.NoSuchMethodError_toString_closure.prototype = { |
| call$2: function(key, value) { |
| var t1, t2, t3; |
| H.interceptedTypeCheck(key, "$isSymbol"); |
| t1 = this.sb; |
| t2 = this._box_0; |
| t1._contents += t2.comma; |
| t3 = t1._contents += H.S(key.__internal$_name); |
| t1._contents = t3 + ": "; |
| t1._contents += P.Error_safeToString(value); |
| t2.comma = ", "; |
| }, |
| $signature: 8 |
| }; |
| P.bool.prototype = {}; |
| 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.double.prototype = {}; |
| P.Duration.prototype = { |
| $add: function(_, other) { |
| return new P.Duration(C.JSInt_methods.$add(this._duration, H.interceptedTypeCheck(other, "$isDuration")._duration)); |
| }, |
| $sub: function(_, other) { |
| return new P.Duration(C.JSInt_methods.$sub(this._duration, H.interceptedTypeCheck(other, "$isDuration")._duration)); |
| }, |
| $lt: function(_, other) { |
| return C.JSInt_methods.$lt(this._duration, H.interceptedTypeCheck(other, "$isDuration")._duration); |
| }, |
| $gt: function(_, other) { |
| return C.JSInt_methods.$gt(this._duration, H.interceptedTypeCheck(other, "$isDuration")._duration); |
| }, |
| $ge: function(_, other) { |
| return C.JSInt_methods.$ge(this._duration, H.interceptedTypeCheck(other, "$isDuration")._duration); |
| }, |
| $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 = {}; |
| P.AssertionError.prototype = { |
| toString$0: function(_) { |
| return "Assertion failed"; |
| } |
| }; |
| 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 message, prefix, explanation, errorValue, _this = this, |
| t1 = _this.name, |
| nameString = t1 != null ? " (" + t1 + ")" : ""; |
| t1 = _this.message; |
| message = t1 == null ? "" : ": " + t1; |
| prefix = _this.get$_errorName() + nameString + message; |
| 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, t2, |
| t1 = this.start; |
| if (t1 == null) { |
| t1 = this.end; |
| explanation = t1 != null ? ": Not less than or equal to " + H.S(t1) : ""; |
| } else { |
| t2 = this.end; |
| if (t2 == null) |
| explanation = ": Not greater than or equal to " + H.S(t1); |
| else if (t2 > t1) |
| explanation = ": Not in range " + H.S(t1) + ".." + H.S(t2) + ", inclusive"; |
| else |
| explanation = t2 < t1 ? ": Valid value range is empty" : ": Only valid value is " + H.S(t1); |
| } |
| return explanation; |
| } |
| }; |
| P.IndexError.prototype = { |
| get$_errorName: function() { |
| return "RangeError"; |
| }, |
| get$_errorExplanation: function() { |
| var t1, |
| invalidValue = H.intTypeCheck(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.NoSuchMethodError.prototype = { |
| toString$0: function(_) { |
| var t1, t2, _i, t3, t4, argument, receiverText, actualParameters, _this = this, _box_0 = {}, |
| sb = new P.StringBuffer(""); |
| _box_0.comma = ""; |
| for (t1 = _this._core$_arguments, t2 = t1.length, _i = 0, t3 = "", t4 = ""; _i < t2; ++_i, t4 = ", ") { |
| argument = t1[_i]; |
| sb._contents = t3 + t4; |
| t3 = sb._contents += P.Error_safeToString(argument); |
| _box_0.comma = ", "; |
| } |
| _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb)); |
| receiverText = P.Error_safeToString(_this._core$_receiver); |
| actualParameters = sb.toString$0(0); |
| t1 = "NoSuchMethodError: method not found: '" + H.S(_this._core$_memberName.__internal$_name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; |
| return t1; |
| } |
| }; |
| P.UnsupportedError.prototype = { |
| toString$0: function(_) { |
| return "Unsupported operation: " + this.message; |
| } |
| }; |
| P.UnimplementedError.prototype = { |
| toString$0: function(_) { |
| var t1 = this.message; |
| return t1 != null ? "UnimplementedError: " + t1 : "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"; |
| }, |
| $isError: 1 |
| }; |
| P.StackOverflowError.prototype = { |
| toString$0: function(_) { |
| return "Stack Overflow"; |
| }, |
| $isError: 1 |
| }; |
| P.CyclicInitializationError.prototype = { |
| toString$0: function(_) { |
| var t1 = this.variableName; |
| return t1 == null ? "Reading static variable during its initialization" : "Reading static variable '" + t1 + "' during its initialization"; |
| } |
| }; |
| P._Exception.prototype = { |
| toString$0: function(_) { |
| return "Exception: " + this.message; |
| } |
| }; |
| P.FormatException.prototype = { |
| toString$0: function(_) { |
| var t1 = this.message, |
| report = "" !== t1 ? "FormatException: " + t1 : "FormatException", |
| offset = this.offset; |
| return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report; |
| } |
| }; |
| P.int.prototype = {}; |
| 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; |
| P.RangeError_checkNotNegative(index, "index"); |
| 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.List.prototype = {$isIterable: 1}; |
| P.Null.prototype = { |
| get$hashCode: function(_) { |
| return P.Object.prototype.get$hashCode.call(this, this); |
| }, |
| toString$0: function(_) { |
| return "null"; |
| } |
| }; |
| P.num.prototype = {}; |
| 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)) + "'"; |
| }, |
| noSuchMethod$1: function(_, invocation) { |
| H.interceptedTypeCheck(invocation, "$isInvocation"); |
| throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); |
| }, |
| toString: function() { |
| return this.toString$0(this); |
| } |
| }; |
| P.StackTrace.prototype = {}; |
| P.String.prototype = {$isPattern: 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 |
| }; |
| P.Symbol.prototype = {}; |
| 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, [W.MouseEvent]); |
| }, |
| $isElement: 1 |
| }; |
| W.Event.prototype = {$isEvent: 1}; |
| W.EventSource.prototype = {$isEventSource: 1}; |
| W.EventTarget.prototype = { |
| addEventListener$3: function(receiver, type, listener, useCapture) { |
| H.functionTypeCheck(listener, {func: 1, args: [W.Event]}); |
| 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(H.functionTypeCheck(listener, {func: 1, args: [W.Event]}), 1), options); |
| }, |
| _removeEventListener$3: function(receiver, type, listener, options) { |
| return receiver.removeEventListener(type, H.convertDartClosureToJS(H.functionTypeCheck(listener, {func: 1, args: [W.Event]}), 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); |
| }, |
| $isHttpRequest: 1 |
| }; |
| W.HttpRequest_request_closure.prototype = { |
| call$1: function(e) { |
| var t1, t2, accepted, unknownRedirect, t3; |
| H.interceptedTypeCheck(e, "$isProgressEvent"); |
| t1 = this.xhr; |
| t2 = t1.status; |
| if (typeof t2 !== "number") |
| return t2.$ge(); |
| 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: 21 |
| }; |
| 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._EventStream.prototype = { |
| listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
| var t1 = H.getTypeArgumentByIndex(this, 0); |
| H.functionTypeCheck(onData, {func: 1, ret: -1, args: [t1]}); |
| H.functionTypeCheck(onDone, {func: 1, ret: -1}); |
| return W._EventStreamSubscription$(this._target, this._eventType, onData, false, t1); |
| } |
| }; |
| W._ElementEventStreamImpl.prototype = {}; |
| W._EventStreamSubscription.prototype = { |
| cancel$0: function() { |
| var _this = this; |
| if (_this._target == null) |
| return; |
| _this._unlisten$0(); |
| _this._target = null; |
| _this.set$_html$_onData(null); |
| return; |
| }, |
| pause$0: function(_) { |
| if (this._target == null) |
| return; |
| ++this._pauseCount; |
| this._unlisten$0(); |
| }, |
| resume$0: function() { |
| var _this = this; |
| if (_this._target == null || _this._pauseCount <= 0) |
| return; |
| --_this._pauseCount; |
| _this._tryResume$0(); |
| }, |
| _tryResume$0: function() { |
| var _this = this, |
| t1 = _this._html$_onData; |
| if (t1 != null && _this._pauseCount <= 0) |
| J.addEventListener$3$x(_this._target, _this._eventType, t1, false); |
| }, |
| _unlisten$0: function() { |
| var t3, |
| t1 = this._html$_onData, |
| t2 = t1 != null; |
| if (t2) { |
| t3 = this._target; |
| t3.toString; |
| H.functionTypeCheck(t1, {func: 1, args: [W.Event]}); |
| if (t2) |
| J._removeEventListener$3$x(t3, this._eventType, t1, false); |
| } |
| }, |
| set$_html$_onData: function(_onData) { |
| this._html$_onData = H.functionTypeCheck(_onData, {func: 1, args: [W.Event]}); |
| } |
| }; |
| W._EventStreamSubscription_closure.prototype = { |
| call$1: function(e) { |
| return this.onData.call$1(H.interceptedTypeCheck(e, "$isEvent")); |
| }, |
| $signature: 22 |
| }; |
| 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, l, t2, $length, i, _this = this, _box_0 = {}; |
| if (e == null) |
| return e; |
| if (typeof e === "boolean") |
| 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)); |
| 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, null); |
| 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; |
| copy = P.LinkedHashMap__makeEmpty(); |
| _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_Dictionary_closure.prototype = { |
| call$2: function(key, value) { |
| this.object[key] = value; |
| }, |
| $signature: 5 |
| }; |
| P._AcceptStructuredCloneDart2Js.prototype = { |
| forEachJsField$2: function(object, action) { |
| var t1, t2, _i, key; |
| H.functionTypeCheck(action, {func: 1, args: [,,]}); |
| 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, H.futureOrCheck(r, {futureOr: 1, type: this.T})); |
| }, |
| $signature: 2 |
| }; |
| P.promiseToFuture_closure0.prototype = { |
| call$1: function(e) { |
| return this.completer.completeError$1(e); |
| }, |
| $signature: 2 |
| }; |
| P._JSRandom.prototype = { |
| nextDouble$0: function() { |
| return Math.random(); |
| } |
| }; |
| P.SvgElement.prototype = { |
| get$onClick: function(receiver) { |
| return new W._ElementEventStreamImpl(receiver, "click", false, [W.MouseEvent]); |
| } |
| }; |
| N.HexCodec.prototype = { |
| get$encoder: function() { |
| return C.C_HexEncoder; |
| }, |
| $asCodec: function() { |
| return [[P.List, P.int], P.String]; |
| } |
| }; |
| R.HexEncoder.prototype = { |
| convert$1: function(bytes) { |
| H.assertSubtype(bytes, "$isList", [P.int], "$asList"); |
| return R._convert(bytes, 0, bytes.length); |
| }, |
| $asConverter: function() { |
| return [[P.List, P.int], P.String]; |
| } |
| }; |
| N.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() { |
| return C.Level_INFO_800; |
| }, |
| log$4: function(logLevel, message, error, stackTrace) { |
| var 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; |
| $.$get$Logger_root()._publish$1(new N.LogRecord(logLevel, message, t1)); |
| } |
| }, |
| _publish$1: function(record) { |
| } |
| }; |
| N.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 !== "" ? N.Logger_Logger("") : null; |
| else { |
| $parent = N.Logger_Logger(C.JSString_methods.substring$2(thisName, 0, dot)); |
| thisName = C.JSString_methods.substring$1(thisName, dot + 1); |
| } |
| t1 = new N.Logger(thisName, $parent, new H.JsLinkedHashMap([P.String, N.Logger])); |
| if ($parent != null) |
| $parent._children.$indexSet(0, thisName, t1); |
| return t1; |
| }, |
| $signature: 24 |
| }; |
| N.Level.prototype = { |
| $eq: function(_, other) { |
| if (other == null) |
| return false; |
| return other instanceof N.Level && this.value === other.value; |
| }, |
| $gt: function(_, other) { |
| return C.JSInt_methods.$gt(this.value, H.interceptedTypeCheck(other, "$isLevel").value); |
| }, |
| $ge: function(_, other) { |
| return this.value >= H.interceptedTypeCheck(other, "$isLevel").value; |
| }, |
| get$hashCode: function(_) { |
| return this.value; |
| }, |
| toString$0: function(_) { |
| return this.name; |
| } |
| }; |
| N.LogRecord.prototype = { |
| toString$0: function(_) { |
| return "[" + this.level.name + "] " + this.loggerName + ": " + H.S(this.message); |
| } |
| }; |
| M.SseClient.prototype = { |
| SseClient$1: function(serverUrl) { |
| var t1, t2, _this = this, |
| clientId = F.Uuid$().v1$0(); |
| _this._eventSource = W.EventSource__factoryEventSource(serverUrl + "?sseClientId=" + clientId, P.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], P.String, null)); |
| _this._serverUrl = serverUrl + "?sseClientId=" + clientId; |
| t1 = _this._outgoingController; |
| new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$2$onDone(_this.get$_onOutgoingMessage(), _this.get$_onOutgoingDone()); |
| C.EventSource_methods.addEventListener$2(_this._eventSource, "message", _this.get$_onIncomingMessage()); |
| C.EventSource_methods.addEventListener$2(_this._eventSource, "control", _this.get$_onIncomingControlMessage()); |
| t1 = W.Event; |
| t2 = {func: 1, ret: -1, args: [t1]}; |
| W._EventStreamSubscription$(_this._eventSource, "open", H.functionTypeCheck(new M.SseClient_closure(_this), t2), false, t1); |
| W._EventStreamSubscription$(_this._eventSource, "error", H.functionTypeCheck(new M.SseClient_closure0(_this), t2), false, t1); |
| _this._startPostingMessages$0(); |
| }, |
| close$0: function(_) { |
| this._eventSource.close(); |
| this._incomingController.close$0(0); |
| this._outgoingController.close$0(0); |
| }, |
| _onIncomingControlMessage$1: function(message) { |
| var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(H.interceptedTypeCast(H.interceptedTypeCheck(message, "$isEvent"), "$isMessageEvent").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.stringTypeCast(C.C_JsonCodec.decode$2$reviver(0, H.stringTypeCast(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(H.interceptedTypeCast(H.interceptedTypeCheck(message, "$isEvent"), "$isMessageEvent").data, true)), null))); |
| }, |
| _onOutgoingDone$0: function() { |
| this.close$0(0); |
| }, |
| _onOutgoingMessage$1: function(message) { |
| var $async$goto = 0, |
| $async$completer = P._makeAsyncAwaitCompleter(null), |
| $async$self = this; |
| var $async$_onOutgoingMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
| if ($async$errorCode === 1) |
| return P._asyncRethrow($async$result, $async$completer); |
| while (true) |
| switch ($async$goto) { |
| case 0: |
| // Function start |
| $async$self._messages.add$1(0, message); |
| // implicit return |
| return P._asyncReturn(null, $async$completer); |
| } |
| }); |
| return P._asyncStartSync($async$_onOutgoingMessage$1, $async$completer); |
| }, |
| _startPostingMessages$0: function() { |
| var $async$goto = 0, |
| $async$completer = P._makeAsyncAwaitCompleter(null), |
| $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, message, e, e0, t2, exception, t3, t4, t1, $async$exception, $async$temp1; |
| var $async$_startPostingMessages$0 = 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 |
| t1 = $async$self._messages; |
| t1 = new P._StreamIterator(new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]), [null]); |
| $async$handler = 2; |
| t2 = $async$self._logger; |
| case 5: |
| // for condition |
| $async$temp1 = H; |
| $async$goto = 7; |
| return P._asyncAwait(t1.moveNext$0(), $async$_startPostingMessages$0); |
| case 7: |
| // returning from await. |
| if (!$async$temp1.boolConversionCheck($async$result)) { |
| // goto after for |
| $async$goto = 6; |
| break; |
| } |
| message = t1.get$current(); |
| $async$handler = 9; |
| $async$goto = 12; |
| return P._asyncAwait(W.HttpRequest_request($async$self._serverUrl, "POST", C.C_JsonCodec.encode$2$toEncodable(message, null), true), $async$_startPostingMessages$0); |
| case 12: |
| // returning from await. |
| $async$handler = 2; |
| // goto after finally |
| $async$goto = 11; |
| break; |
| case 9: |
| // catch |
| $async$handler = 8; |
| $async$exception = $async$currentError; |
| t3 = H.unwrapException($async$exception); |
| t4 = J.getInterceptor$(t3); |
| if (!!t4.$isJsonUnsupportedObjectError) { |
| e = t3; |
| t2.log$4(C.Level_WARNING_900, "Unable to encode outgoing message: " + H.S(e), null, null); |
| } else if (!!t4.$isArgumentError) { |
| e0 = t3; |
| t2.log$4(C.Level_WARNING_900, "Invalid argument: " + H.S(e0), null, null); |
| } else |
| throw $async$exception; |
| // goto after finally |
| $async$goto = 11; |
| break; |
| case 8: |
| // uncaught |
| // goto uncaught |
| $async$goto = 2; |
| break; |
| case 11: |
| // after finally |
| // goto for condition |
| $async$goto = 5; |
| break; |
| case 6: |
| // after for |
| $async$next.push(4); |
| // goto finally |
| $async$goto = 3; |
| break; |
| case 2: |
| // uncaught |
| $async$next = [1]; |
| case 3: |
| // finally |
| $async$handler = 1; |
| $async$goto = 13; |
| return P._asyncAwait(t1.cancel$0(), $async$_startPostingMessages$0); |
| case 13: |
| // returning from await. |
| // goto the next finally handler |
| $async$goto = $async$next.pop(); |
| break; |
| case 4: |
| // after finally |
| // implicit return |
| return P._asyncReturn(null, $async$completer); |
| case 1: |
| // rethrow |
| return P._asyncRethrow($async$currentError, $async$completer); |
| } |
| }); |
| return P._asyncStartSync($async$_startPostingMessages$0, $async$completer); |
| } |
| }; |
| M.SseClient_closure.prototype = { |
| call$1: function(_) { |
| var t1 = this.$this._errorTimer; |
| if (t1 != null) |
| t1.cancel$0(); |
| }, |
| $signature: 11 |
| }; |
| M.SseClient_closure0.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: 11 |
| }; |
| M.SseClient__closure.prototype = { |
| call$0: function() { |
| var t3, |
| t1 = this.$this, |
| t2 = t1._incomingController, |
| error = this.error; |
| if (t2._state >= 4) |
| H.throwExpression(t2._badEventState$0()); |
| if (error == null) |
| error = new P.NullThrownError(); |
| t3 = t2._state; |
| if ((t3 & 1) !== 0) |
| t2._sendError$2(error, null); |
| else if ((t3 & 3) === 0) |
| t2._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, null)); |
| t1._eventSource.close(); |
| }, |
| $signature: 1 |
| }; |
| R.StreamChannelMixin.prototype = {}; |
| F.Uuid.prototype = { |
| Uuid$1$options: function(_box_0) { |
| var t1, t2, i, hex, t3, v1PositionalArgs, v1NamedArgs, _this = this, |
| _s19_ = "v1rngPositionalArgs", |
| _s14_ = "v1rngNamedArgs", |
| _s18_ = "grngPositionalArgs", |
| _s13_ = "grngNamedArgs", |
| options = _box_0.options; |
| if (!(options != null)) |
| options = new H.JsLinkedHashMap([P.String, null]); |
| _box_0.options = options; |
| t1 = new Array(256); |
| t1.fixed$length = Array; |
| t2 = P.String; |
| _this.set$_byteToHex(H.setRuntimeTypeInfo(t1, [t2])); |
| t1 = P.int; |
| _this.set$_hexToByte(new H.JsLinkedHashMap([t2, t1])); |
| for (t1 = [t1], t2 = [P.List, P.int], i = 0; i < 256; ++i) { |
| hex = H.setRuntimeTypeInfo([], t1); |
| C.JSArray_methods.add$1(hex, i); |
| t3 = _this._byteToHex; |
| H.assertSubtypeOfRuntimeType(hex, t2); |
| (t3 && C.JSArray_methods).$indexSet(t3, i, C.C_HexCodec.get$encoder().convert$1(hex)); |
| _this._hexToByte.$indexSet(0, _this._byteToHex[i], i); |
| } |
| v1PositionalArgs = _box_0.options.$index(0, _s19_) != null ? _box_0.options.$index(0, _s19_) : []; |
| v1NamedArgs = _box_0.options.$index(0, _s14_) != null ? H.subtypeCast(_box_0.options.$index(0, _s14_), "$isMap", [P.Symbol, null], "$asMap") : C.Map_empty; |
| _this._seedBytes = _box_0.options.$index(0, "v1rng") != null ? P.Function_apply(H.interceptedTypeCheck(_box_0.options.$index(0, "v1rng"), "$isFunction"), H.listTypeCheck(v1PositionalArgs), v1NamedArgs) : U.UuidUtil_mathRNG(); |
| if (_box_0.options.$index(0, _s18_) != null) |
| _box_0.options.$index(0, _s18_); |
| if (_box_0.options.$index(0, _s13_) != null) |
| H.subtypeCast(_box_0.options.$index(0, _s13_), "$isMap", [P.Symbol, null], "$asMap"); |
| _this._nodeId = [J.$or$bn(J.$index$asx(_this._seedBytes, 0), 1), J.$index$asx(_this._seedBytes, 1), J.$index$asx(_this._seedBytes, 2), J.$index$asx(_this._seedBytes, 3), J.$index$asx(_this._seedBytes, 4), J.$index$asx(_this._seedBytes, 5)]; |
| t1 = J.$shl$n(J.$index$asx(_this._seedBytes, 6), 8); |
| t2 = J.$index$asx(_this._seedBytes, 7); |
| if (typeof t2 !== "number") |
| return H.iae(t2); |
| _this._clockSeq = (t1 | t2) & 262143; |
| }, |
| v1$0: function() { |
| var t2, buf, options, clockSeq, mSecs, nSecs, dt, t3, tl, tmh, node, n, _this = this, |
| _s8_ = "clockSeq", |
| _s5_ = "nSecs", |
| t1 = new Array(16); |
| t1.fixed$length = Array; |
| t2 = P.int; |
| buf = H.setRuntimeTypeInfo(t1, [t2]); |
| options = new H.JsLinkedHashMap([P.String, null]); |
| clockSeq = options.$index(0, _s8_) != null ? options.$index(0, _s8_) : _this._clockSeq; |
| mSecs = options.$index(0, "mSecs") != null ? options.$index(0, "mSecs") : Date.now(); |
| nSecs = options.$index(0, _s5_) != null ? options.$index(0, _s5_) : _this._lastNSecs + 1; |
| t1 = J.getInterceptor$n(mSecs); |
| dt = J.$add$ansx(t1.$sub(mSecs, _this._lastMSecs), J.$div$n(J.$sub$n(nSecs, _this._lastNSecs), 10000)); |
| t3 = J.getInterceptor$n(dt); |
| if (t3.$lt(dt, 0) && options.$index(0, _s8_) == null) |
| clockSeq = J.$and$bn(J.$add$ansx(clockSeq, 1), 16383); |
| if ((t3.$lt(dt, 0) || t1.$gt(mSecs, _this._lastMSecs)) && options.$index(0, _s5_) == null) |
| nSecs = 0; |
| if (J.$ge$n(nSecs, 10000)) |
| throw H.wrapException(P.Exception_Exception("uuid.v1(): Can't create more than 10M uuids/sec")); |
| H.intTypeCheck(mSecs); |
| _this._lastMSecs = mSecs; |
| H.intTypeCheck(nSecs); |
| _this._lastNSecs = nSecs; |
| _this._clockSeq = clockSeq; |
| mSecs += 122192928e5; |
| tl = C.JSInt_methods.$mod((mSecs & 268435455) * 10000 + nSecs, 4294967296); |
| C.JSArray_methods.$indexSet(buf, 0, C.JSInt_methods._shrOtherPositive$1(tl, 24) & 255); |
| C.JSArray_methods.$indexSet(buf, 1, C.JSInt_methods._shrOtherPositive$1(tl, 16) & 255); |
| C.JSArray_methods.$indexSet(buf, 2, C.JSInt_methods._shrOtherPositive$1(tl, 8) & 255); |
| C.JSArray_methods.$indexSet(buf, 3, tl & 255); |
| tmh = C.JSDouble_methods.floor$0(mSecs / 4294967296 * 10000) & 268435455; |
| C.JSArray_methods.$indexSet(buf, 4, tmh >>> 8 & 255); |
| C.JSArray_methods.$indexSet(buf, 5, tmh & 255); |
| C.JSArray_methods.$indexSet(buf, 6, tmh >>> 24 & 15 | 16); |
| C.JSArray_methods.$indexSet(buf, 7, tmh >>> 16 & 255); |
| t1 = J.getInterceptor$n(clockSeq); |
| C.JSArray_methods.$indexSet(buf, 8, (t1.$shr(clockSeq, 8) | 128) >>> 0); |
| C.JSArray_methods.$indexSet(buf, 9, H.intTypeCheck(t1.$and(clockSeq, 255))); |
| node = options.$index(0, "node") != null ? options.$index(0, "node") : _this._nodeId; |
| for (t1 = J.getInterceptor$asx(node), n = 0; n < 6; ++n) |
| C.JSArray_methods.$indexSet(buf, 10 + n, H.intTypeCheck(t1.$index(node, n))); |
| H.assertSubtype(buf, "$isList", [t2], "$asList"); |
| t1 = _this._byteToHex; |
| t1 = H.S((t1 && C.JSArray_methods).$index(t1, buf[0])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[1])); |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[2])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[3])) + "-"; |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[4])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[5])) + "-"; |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[6])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[7])) + "-"; |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[8])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[9])) + "-"; |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[10])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[11])); |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[12])); |
| t2 = _this._byteToHex; |
| t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[13])); |
| t1 = _this._byteToHex; |
| t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[14])); |
| t2 = _this._byteToHex; |
| return t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[15])); |
| }, |
| set$_byteToHex: function(_byteToHex) { |
| this._byteToHex = H.assertSubtype(_byteToHex, "$isList", [P.String], "$asList"); |
| }, |
| set$_hexToByte: function(_hexToByte) { |
| this._hexToByte = H.assertSubtype(_hexToByte, "$isMap", [P.String, P.int], "$asMap"); |
| } |
| }; |
| E.main_closure.prototype = { |
| call$1: function(_) { |
| H.interceptedTypeCheck(_, "$isMouseEvent"); |
| this.channel._outgoingController.close$0(0); |
| }, |
| $signature: 25 |
| }; |
| E.main_closure0.prototype = { |
| call$1: function(s) { |
| var t1 = this.channel._outgoingController; |
| t1.add$1(0, H.assertSubtypeOfRuntimeType(H.stringTypeCheck(s), H.getTypeArgumentByIndex(t1, 0))); |
| }, |
| $signature: 26 |
| }; |
| (function aliases() { |
| var _ = J.Interceptor.prototype; |
| _.super$Interceptor$toString = _.toString$0; |
| _.super$Interceptor$noSuchMethod = _.noSuchMethod$1; |
| _ = J.JavaScriptObject.prototype; |
| _.super$JavaScriptObject$toString = _.toString$0; |
| })(); |
| (function installTearOffs() { |
| var _static_1 = hunkHelpers._static_1, |
| _static_0 = hunkHelpers._static_0, |
| _static = hunkHelpers.installStaticTearOff, |
| _instance = hunkHelpers.installInstanceTearOff, |
| _instance_0_u = hunkHelpers._instance_0u, |
| _instance_1_u = hunkHelpers._instance_1u; |
| _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 6); |
| _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 6); |
| _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 6); |
| _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); |
| _static(P, "async___nullErrorHandler$closure", 1, null, ["call$2", "call$1"], ["_nullErrorHandler", function(error) { |
| return P._nullErrorHandler(error, null); |
| }], 3, 0); |
| _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"], 3, 0); |
| _instance(P._Future.prototype, "get$_completeError", 0, 1, function() { |
| return [null]; |
| }, ["call$2", "call$1"], ["_completeError$2", "_completeError$1"], 3, 0); |
| var _; |
| _instance_0_u(_ = P._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); |
| _instance_0_u(_, "get$_onResume", "_onResume$0", 0); |
| _instance_0_u(_ = P._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); |
| _instance_0_u(_, "get$_onResume", "_onResume$0", 0); |
| _instance_1_u(_ = P._StreamIterator.prototype, "get$_onData", "_onData$1", 20); |
| _instance(_, "get$_onError", 0, 1, function() { |
| return [null]; |
| }, ["call$2", "call$1"], ["_onError$2", "_onError$1"], 3, 0); |
| _instance_0_u(_, "get$_onDone", "_onDone$0", 0); |
| _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 4); |
| _instance_1_u(_ = M.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 10); |
| _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 10); |
| _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0); |
| _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 2); |
| })(); |
| (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.Iterable, H.ListIterator, H.FixedLengthListMixin, H.Symbol0, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.Closure, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, 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._UnmodifiableMapMixin, P.Codec, P._JsonStringifier, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.List, P.Null, P.StackTrace, P.String, P.StringBuffer, P.Symbol, P._AcceptStructuredClone, P._JSRandom, N.Logger, N.Level, N.LogRecord, R.StreamChannelMixin, F.Uuid]); |
| _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]); |
| _inherit(H.EfficientLengthIterable, P.Iterable); |
| _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.LinkedHashMapKeyIterable]); |
| _inherit(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P.MapView); |
| _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin); |
| _inherit(H.ConstantMapView, P.UnmodifiableMapView); |
| _inherit(H.ConstantStringMap, H.ConstantMap); |
| _inheritMany(H.Closure, [H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, 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__asyncComplete_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._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_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._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, W.HttpRequest_request_closure, W._EventStreamSubscription_closure, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.promiseToFuture_closure, P.promiseToFuture_closure0, N.Logger_Logger_closure, M.SseClient_closure, M.SseClient_closure0, M.SseClient__closure, E.main_closure, E.main_closure0]); |
| _inheritMany(P.Error, [H.NullError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.TypeErrorImplementation, H.CastErrorImplementation, H.RuntimeError, P.AssertionError, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]); |
| _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(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); |
| _inheritMany(P.Codec, [P.JsonCodec, N.HexCodec]); |
| _inheritMany(P.Converter, [P.JsonEncoder, P.JsonDecoder, R.HexEncoder]); |
| _inherit(P._JsonStringStringifier, P._JsonStringifier); |
| _inheritMany(P.num, [P.double, P.int]); |
| _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); |
| _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin); |
| })(); |
| var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: -1}, {func: 1, ret: P.Null}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, args: [,]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.Null, args: [P.Symbol,,]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: -1, args: [W.Event]}, {func: 1, ret: P.Null, args: [W.Event]}, {func: 1, ret: P.Null, args: [P.String,,]}, {func: 1, args: [, P.String]}, {func: 1, args: [P.String]}, {func: 1, ret: P.Null, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: P.Null, args: [P.int,,]}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: P.Null, args: [W.ProgressEvent]}, {func: 1, args: [W.Event]}, {func: 1, args: [,,]}, {func: 1, ret: N.Logger}, {func: 1, ret: P.Null, args: [W.MouseEvent]}, {func: 1, ret: P.Null, args: [P.String]}], interceptorsByTag: null, leafTags: null}; |
| (function constants() { |
| var makeConstList = hunkHelpers.makeConstList; |
| 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.JSDouble_methods = J.JSDouble.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_HexCodec = new N.HexCodec(); |
| C.C_HexEncoder = new R.HexEncoder(); |
| 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.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 N.Level("INFO", 800); |
| C.Level_WARNING_900 = new N.Level("WARNING", 900); |
| C.List_empty = makeConstList([]); |
| C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), [P.Symbol]); |
| C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty0, [P.Symbol, null]); |
| C.Symbol_call = new H.Symbol0("call"); |
| })(); |
| (function staticFields() { |
| $.Closure_functionCounter = 0; |
| $.BoundClosure_selfFieldNameCache = null; |
| $.BoundClosure_receiverFieldNameCache = null; |
| $._inTypeAssertion = false; |
| $.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 = []; |
| $.Logger__loggers = P.LinkedHashMap_LinkedHashMap$_empty(P.String, N.Logger); |
| $.LogRecord__nextNumber = 0; |
| })(); |
| (function lazyInitializers() { |
| var _lazy = hunkHelpers.lazy; |
| _lazy($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() { |
| return H.getIsolateAffinityTag("_$dart_dartClosure"); |
| }); |
| _lazy($, "JS_INTEROP_INTERCEPTOR_TAG", "$get$JS_INTEROP_INTERCEPTOR_TAG", function() { |
| return H.getIsolateAffinityTag("_$dart_js"); |
| }); |
| _lazy($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ |
| toString: function() { |
| return "$receiver$"; |
| } |
| })); |
| }); |
| _lazy($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() { |
| return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null, |
| toString: function() { |
| return "$receiver$"; |
| } |
| })); |
| }); |
| _lazy($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null)); |
| }); |
| _lazy($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(function() { |
| var $argumentsExpr$ = '$arguments$'; |
| try { |
| null.$method$($argumentsExpr$); |
| } catch (e) { |
| return e.message; |
| } |
| }()); |
| }); |
| _lazy($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0)); |
| }); |
| _lazy($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(function() { |
| var $argumentsExpr$ = '$arguments$'; |
| try { |
| (void 0).$method$($argumentsExpr$); |
| } catch (e) { |
| return e.message; |
| } |
| }()); |
| }); |
| _lazy($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null)); |
| }); |
| _lazy($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(function() { |
| try { |
| null.$method$; |
| } catch (e) { |
| return e.message; |
| } |
| }()); |
| }); |
| _lazy($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0)); |
| }); |
| _lazy($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() { |
| return H.TypeErrorDecoder_extractPattern(function() { |
| try { |
| (void 0).$method$; |
| } catch (e) { |
| return e.message; |
| } |
| }()); |
| }); |
| _lazy($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() { |
| return P._AsyncRun__initializeScheduleImmediate(); |
| }); |
| _lazy($, "Future__nullFuture", "$get$Future__nullFuture", function() { |
| return P._Future$zoneValue(null, C.C__RootZone, P.Null); |
| }); |
| _lazy($, "Future__falseFuture", "$get$Future__falseFuture", function() { |
| return P._Future$zoneValue(false, C.C__RootZone, P.bool); |
| }); |
| _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() { |
| return new Error().stack != void 0; |
| }); |
| _lazy($, "Logger_root", "$get$Logger_root", function() { |
| return N.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, 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, 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; |
| if (typeof dartMainRunner === "function") |
| dartMainRunner(E.main, []); |
| else |
| E.main([]); |
| }); |
| })(); |
| |
| //# sourceMappingURL=index.dart.js.map |