| Index: lib/src/runner/browser/static/host.dart.js
|
| diff --git a/lib/src/runner/browser/static/host.dart.js b/lib/src/runner/browser/static/host.dart.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7e5f8a72e17e9b987660c8c0515a23e4eb8a6f4a
|
| --- /dev/null
|
| +++ b/lib/src/runner/browser/static/host.dart.js
|
| @@ -0,0 +1,14006 @@
|
| +// Generated by dart2js, the Dart to JavaScript compiler version: 1.9.0-edge.44028.
|
| +// 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].
|
| +(function($) {
|
| +function map(x) {
|
| + x = Object.create(null);
|
| + x.x = 0;
|
| + delete x.x;
|
| + return x;
|
| +}
|
| +var A = map();
|
| +var B = map();
|
| +var C = map();
|
| +var D = map();
|
| +var E = map();
|
| +var F = map();
|
| +var G = map();
|
| +var H = map();
|
| +var J = map();
|
| +var K = map();
|
| +var L = map();
|
| +var M = map();
|
| +var N = map();
|
| +var O = map();
|
| +var P = map();
|
| +var Q = map();
|
| +var R = map();
|
| +var S = map();
|
| +var T = map();
|
| +var U = map();
|
| +var V = map();
|
| +var W = map();
|
| +var X = map();
|
| +var Y = map();
|
| +var Z = map();
|
| +function Isolate() {}
|
| +init();
|
| +
|
| +$ = Isolate.$isolateProperties;
|
| +$.functionThatReturnsNull = function() {
|
| +};
|
| +;
|
| +function parseReflectionData(reflectionData) {
|
| + "use strict";
|
| + function generateAccessor(fieldDescriptor, accessors, cls) {
|
| + var fieldInformation = fieldDescriptor.split("-");
|
| + var field = fieldInformation[0];
|
| + var len = field.length;
|
| + var code = field.charCodeAt(len - 1);
|
| + var reflectable;
|
| + if (fieldInformation.length > 1)
|
| + reflectable = true;
|
| + else
|
| + reflectable = false;
|
| + code = code >= 60 && code <= 64 ? code - 59 : code >= 123 && code <= 126 ? code - 117 : code >= 37 && code <= 43 ? code - 27 : 0;
|
| + if (code) {
|
| + var getterCode = code & 3;
|
| + var setterCode = code >> 2;
|
| + var accessorName = field = field.substring(0, len - 1);
|
| + var divider = field.indexOf(":");
|
| + if (divider > 0) {
|
| + accessorName = field.substring(0, divider);
|
| + field = field.substring(divider + 1);
|
| + }
|
| + if (getterCode) {
|
| + var args = getterCode & 2 ? "receiver" : "";
|
| + var receiver = getterCode & 1 ? "this" : "receiver";
|
| + var body = "return " + receiver + "." + field;
|
| + var property = cls + ".prototype.get$" + accessorName + "=";
|
| + var fn = "function(" + args + "){" + body + "}";
|
| + if (reflectable)
|
| + accessors.push(property + "$reflectable(" + fn + ");\n");
|
| + else
|
| + accessors.push(property + fn + ";\n");
|
| + }
|
| + if (setterCode) {
|
| + var args = setterCode & 2 ? "receiver, value" : "value";
|
| + var receiver = setterCode & 1 ? "this" : "receiver";
|
| + var body = receiver + "." + field + " = value";
|
| + var property = cls + ".prototype.set$" + accessorName + "=";
|
| + var fn = "function(" + args + "){" + body + "}";
|
| + if (reflectable)
|
| + accessors.push(property + "$reflectable(" + fn + ");\n");
|
| + else
|
| + accessors.push(property + fn + ";\n");
|
| + }
|
| + }
|
| + return field;
|
| + }
|
| + function defineClass(name, fields) {
|
| + var accessors = [];
|
| + var str = "function " + name + "(";
|
| + var body = "";
|
| + var fieldNames = "";
|
| + for (var i = 0; i < fields.length; i++) {
|
| + if (i != 0)
|
| + str += ", ";
|
| + var field = generateAccessor(fields[i], accessors, name);
|
| + fieldNames += "'" + field + "',";
|
| + var parameter = "parameter_" + field;
|
| + str += parameter;
|
| + body += "this." + field + " = " + parameter + ";\n";
|
| + }
|
| + str += ") {\n" + body + "}\n";
|
| + str += name + ".builtin$cls=\"" + name + "\";\n";
|
| + str += "$desc=$collectedClasses." + name + ";\n";
|
| + str += "if($desc instanceof Array) $desc = \$desc[1];\n";
|
| + str += name + ".prototype = $desc;\n";
|
| + if (typeof defineClass.name != "string")
|
| + str += name + ".name=\"" + name + "\";\n";
|
| + str += name + "." + "$__fields__" + "=[" + fieldNames + "];\n";
|
| + str += accessors.join("");
|
| + return str;
|
| + }
|
| + init.createNewIsolate = function() {
|
| + return new Isolate();
|
| + };
|
| + init.classIdExtractor = function(o) {
|
| + return o.constructor.name;
|
| + };
|
| + init.classFieldsExtractor = function(o) {
|
| + var fieldNames = o.constructor.$__fields__;
|
| + if (!fieldNames)
|
| + return [];
|
| + var result = [];
|
| + result.length = fieldNames.length;
|
| + for (var i = 0; i < fieldNames.length; i++)
|
| + result[i] = o[fieldNames[i]];
|
| + return result;
|
| + };
|
| + init.instanceFromClassId = function(name) {
|
| + return new init.allClasses[name]();
|
| + };
|
| + init.initializeEmptyInstance = function(name, o, fields) {
|
| + init.allClasses[name].apply(o, fields);
|
| + return o;
|
| + };
|
| + var inheritFrom = function() {
|
| + function tmp() {
|
| + }
|
| + return function(constructor, superConstructor) {
|
| + if (superConstructor == null) {
|
| + var prototype = constructor.prototype;
|
| + prototype.constructor = constructor;
|
| + prototype.$isObject = constructor;
|
| + return prototype;
|
| + }
|
| + tmp.prototype = superConstructor.prototype;
|
| + var object = new tmp();
|
| + var properties = constructor.prototype;
|
| + var members = Object.keys(properties);
|
| + for (var i = 0; i < members.length; i++) {
|
| + var member = members[i];
|
| + object[member] = properties[member];
|
| + }
|
| + object["$is" + constructor.name] = constructor;
|
| + object.constructor = constructor;
|
| + constructor.prototype = object;
|
| + return object;
|
| + };
|
| + }();
|
| + function finishClasses(processedClasses) {
|
| + var allClasses = init.allClasses;
|
| + processedClasses.combinedConstructorFunction += "return [\n" + processedClasses.constructorsList.join(",\n ") + "\n]";
|
| + var constructors = new Function("$collectedClasses", processedClasses.combinedConstructorFunction)(processedClasses.collected);
|
| + processedClasses.combinedConstructorFunction = null;
|
| + for (var i = 0; i < constructors.length; i++) {
|
| + var constructor = constructors[i];
|
| + var cls = constructor.name;
|
| + var desc = processedClasses.collected[cls];
|
| + var globalObject = $;
|
| + if (desc instanceof Array) {
|
| + globalObject = desc[0] || $;
|
| + desc = desc[1];
|
| + }
|
| + allClasses[cls] = constructor;
|
| + globalObject[cls] = constructor;
|
| + }
|
| + constructors = null;
|
| + var finishedClasses = init.finishedClasses;
|
| + function finishClass(cls) {
|
| + if (finishedClasses[cls])
|
| + return;
|
| + finishedClasses[cls] = true;
|
| + var superclass = processedClasses.pending[cls];
|
| + if (superclass && superclass.indexOf("+") > 0) {
|
| + var s = superclass.split("+");
|
| + superclass = s[0];
|
| + var mixinClass = s[1];
|
| + finishClass(mixinClass);
|
| + var mixin = allClasses[mixinClass];
|
| + var mixinPrototype = mixin.prototype;
|
| + var clsPrototype = allClasses[cls].prototype;
|
| + var properties = Object.keys(mixinPrototype);
|
| + for (var i = 0; i < properties.length; i++) {
|
| + var d = properties[i];
|
| + if (!hasOwnProperty.call(clsPrototype, d))
|
| + clsPrototype[d] = mixinPrototype[d];
|
| + }
|
| + }
|
| + if (!superclass || typeof superclass != "string") {
|
| + inheritFrom(allClasses[cls], null);
|
| + return;
|
| + }
|
| + finishClass(superclass);
|
| + var superConstructor = allClasses[superclass];
|
| + if (!superConstructor)
|
| + superConstructor = existingIsolateProperties[superclass];
|
| + var constructor = allClasses[cls];
|
| + var prototype = inheritFrom(constructor, superConstructor);
|
| + if (Object.prototype.hasOwnProperty.call(prototype, "%")) {
|
| + var nativeSpec = prototype["%"].split(";");
|
| + if (nativeSpec[0]) {
|
| + var tags = nativeSpec[0].split("|");
|
| + for (var i = 0; i < tags.length; i++) {
|
| + init.interceptorsByTag[tags[i]] = constructor;
|
| + init.leafTags[tags[i]] = true;
|
| + }
|
| + }
|
| + if (nativeSpec[1]) {
|
| + tags = nativeSpec[1].split("|");
|
| + if (nativeSpec[2]) {
|
| + var subclasses = nativeSpec[2].split("|");
|
| + for (var i = 0; i < subclasses.length; i++) {
|
| + var subclass = allClasses[subclasses[i]];
|
| + subclass.$nativeSuperclassTag = tags[0];
|
| + }
|
| + }
|
| + for (i = 0; i < tags.length; i++) {
|
| + init.interceptorsByTag[tags[i]] = constructor;
|
| + init.leafTags[tags[i]] = false;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + var properties = Object.keys(processedClasses.pending);
|
| + for (var i = 0; i < properties.length; i++)
|
| + finishClass(properties[i]);
|
| + }
|
| + function processClassData(cls, descriptor, processedClasses) {
|
| + var newDesc = {};
|
| + var previousProperty;
|
| + var properties = Object.keys(descriptor);
|
| + for (var i = 0; i < properties.length; i++) {
|
| + var property = properties[i];
|
| + var firstChar = property.substring(0, 1);
|
| + if (property === "static")
|
| + processStatics(init.statics[cls] = descriptor[property], processedClasses);
|
| + else if (firstChar === "+") {
|
| + mangledNames[previousProperty] = property.substring(1);
|
| + var flag = descriptor[property];
|
| + if (flag > 0)
|
| + descriptor[previousProperty].$reflectable = flag;
|
| + } else if (firstChar === "*") {
|
| + newDesc[previousProperty].$defaultValues = descriptor[property];
|
| + var optionalMethods = newDesc.$methodsWithOptionalArguments;
|
| + if (!optionalMethods)
|
| + newDesc.$methodsWithOptionalArguments = optionalMethods = {};
|
| + optionalMethods[property] = previousProperty;
|
| + } else {
|
| + var elem = descriptor[property];
|
| + if (property !== "^" && elem != null && elem.constructor === Array && property !== "<>")
|
| + addStubs(newDesc, elem, property, false, descriptor, []);
|
| + else
|
| + newDesc[previousProperty = property] = elem;
|
| + }
|
| + }
|
| + var classData = newDesc["^"], split, supr, fields = classData;
|
| + var s = fields.split(";");
|
| + fields = s[1] == "" ? [] : s[1].split(",");
|
| + supr = s[0];
|
| + split = supr.split(":");
|
| + if (split.length == 2) {
|
| + supr = split[0];
|
| + var functionSignature = split[1];
|
| + if (functionSignature)
|
| + newDesc.$signature = function(s) {
|
| + return function() {
|
| + return init.metadata[s];
|
| + };
|
| + }(functionSignature);
|
| + }
|
| + if (supr)
|
| + processedClasses.pending[cls] = supr;
|
| + processedClasses.combinedConstructorFunction += defineClass(cls, fields);
|
| + processedClasses.constructorsList.push(cls);
|
| + processedClasses.collected[cls] = [globalObject, newDesc];
|
| + classes.push(cls);
|
| + }
|
| + function processStatics(descriptor, processedClasses) {
|
| + var properties = Object.keys(descriptor);
|
| + for (var i = 0; i < properties.length; i++) {
|
| + var property = properties[i];
|
| + if (property === "^")
|
| + continue;
|
| + var element = descriptor[property];
|
| + var firstChar = property.substring(0, 1);
|
| + var previousProperty;
|
| + if (firstChar === "+") {
|
| + mangledGlobalNames[previousProperty] = property.substring(1);
|
| + var flag = descriptor[property];
|
| + if (flag > 0)
|
| + descriptor[previousProperty].$reflectable = flag;
|
| + if (element && element.length)
|
| + init.typeInformation[previousProperty] = element;
|
| + } else if (firstChar === "*") {
|
| + globalObject[previousProperty].$defaultValues = element;
|
| + var optionalMethods = descriptor.$methodsWithOptionalArguments;
|
| + if (!optionalMethods)
|
| + descriptor.$methodsWithOptionalArguments = optionalMethods = {};
|
| + optionalMethods[property] = previousProperty;
|
| + } else if (typeof element === "function") {
|
| + globalObject[previousProperty = property] = element;
|
| + functions.push(property);
|
| + init.globalFunctions[property] = element;
|
| + } else if (element.constructor === Array)
|
| + addStubs(globalObject, element, property, true, descriptor, functions);
|
| + else {
|
| + previousProperty = property;
|
| + processClassData(property, element, processedClasses);
|
| + }
|
| + }
|
| + }
|
| + function addStubs(descriptor, array, name, isStatic, originalDescriptor, functions) {
|
| + var index = 0, alias = array[index], f;
|
| + if (typeof alias == "string")
|
| + f = array[++index];
|
| + else {
|
| + f = alias;
|
| + alias = name;
|
| + }
|
| + var funcs = [originalDescriptor[name] = descriptor[name] = descriptor[alias] = f];
|
| + f.$stubName = name;
|
| + functions.push(name);
|
| + for (; index < array.length; index += 2) {
|
| + f = array[index + 1];
|
| + if (typeof f != "function")
|
| + break;
|
| + f.$stubName = array[index + 2];
|
| + funcs.push(f);
|
| + if (f.$stubName) {
|
| + originalDescriptor[f.$stubName] = descriptor[f.$stubName] = f;
|
| + functions.push(f.$stubName);
|
| + }
|
| + }
|
| + for (var i = 0; i < funcs.length; index++, i++)
|
| + funcs[i].$callName = array[index + 1];
|
| + var getterStubName = array[++index];
|
| + array = array.slice(++index);
|
| + var requiredParameterInfo = array[0];
|
| + var requiredParameterCount = requiredParameterInfo >> 1;
|
| + var isAccessor = (requiredParameterInfo & 1) === 1;
|
| + var isSetter = requiredParameterInfo === 3;
|
| + var isGetter = requiredParameterInfo === 1;
|
| + var optionalParameterInfo = array[1];
|
| + var optionalParameterCount = optionalParameterInfo >> 1;
|
| + var optionalParametersAreNamed = (optionalParameterInfo & 1) === 1;
|
| + var isIntercepted = requiredParameterCount + optionalParameterCount != funcs[0].length;
|
| + var functionTypeIndex = array[2];
|
| + var unmangledNameIndex = 2 * optionalParameterCount + requiredParameterCount + 3;
|
| + if (getterStubName) {
|
| + f = tearOff(funcs, array, isStatic, name, isIntercepted);
|
| + descriptor[name].$getter = f;
|
| + f.$getterStub = true;
|
| + if (isStatic)
|
| + init.globalFunctions[name] = f;
|
| + originalDescriptor[getterStubName] = descriptor[getterStubName] = f;
|
| + funcs.push(f);
|
| + if (getterStubName)
|
| + functions.push(getterStubName);
|
| + f.$stubName = getterStubName;
|
| + f.$callName = null;
|
| + }
|
| + }
|
| + function tearOffGetter(funcs, reflectionInfo, name, isIntercepted) {
|
| + return isIntercepted ? new Function("funcs", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(x) {" + "if (c === null) c = H.closureFromTearOff(" + "this, funcs, reflectionInfo, false, [x], name);" + "return new c(this, funcs[0], x, name);" + "}")(funcs, reflectionInfo, name, H, null) : new Function("funcs", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = H.closureFromTearOff(" + "this, funcs, reflectionInfo, false, [], name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, reflectionInfo, name, H, null);
|
| + }
|
| + function tearOff(funcs, reflectionInfo, isStatic, name, isIntercepted) {
|
| + var cache;
|
| + return isStatic ? function() {
|
| + if (cache === void 0)
|
| + cache = H.closureFromTearOff(this, funcs, reflectionInfo, true, [], name).prototype;
|
| + return cache;
|
| + } : tearOffGetter(funcs, reflectionInfo, name, isIntercepted);
|
| + }
|
| + var functionCounter = 0;
|
| + if (!init.libraries)
|
| + init.libraries = [];
|
| + if (!init.mangledNames)
|
| + init.mangledNames = map();
|
| + if (!init.mangledGlobalNames)
|
| + init.mangledGlobalNames = map();
|
| + if (!init.statics)
|
| + init.statics = map();
|
| + if (!init.typeInformation)
|
| + init.typeInformation = map();
|
| + if (!init.globalFunctions)
|
| + init.globalFunctions = map();
|
| + var libraries = init.libraries;
|
| + var mangledNames = init.mangledNames;
|
| + var mangledGlobalNames = init.mangledGlobalNames;
|
| + var hasOwnProperty = Object.prototype.hasOwnProperty;
|
| + var length = reflectionData.length;
|
| + var processedClasses = Object.create(null);
|
| + processedClasses.collected = Object.create(null);
|
| + processedClasses.pending = Object.create(null);
|
| + processedClasses.constructorsList = [];
|
| + processedClasses.combinedConstructorFunction = "function $reflectable(fn){fn.$reflectable=1;return fn};\n" + "var $desc;\n";
|
| + for (var i = 0; i < length; i++) {
|
| + var data = reflectionData[i];
|
| + var name = data[0];
|
| + var uri = data[1];
|
| + var metadata = data[2];
|
| + var globalObject = data[3];
|
| + var descriptor = data[4];
|
| + var isRoot = !!data[5];
|
| + var fields = descriptor && descriptor["^"];
|
| + if (fields instanceof Array)
|
| + fields = fields[0];
|
| + var classes = [];
|
| + var functions = [];
|
| + processStatics(descriptor, processedClasses);
|
| + libraries.push([name, uri, classes, functions, metadata, fields, isRoot, globalObject]);
|
| + }
|
| + finishClasses(processedClasses);
|
| +}
|
| +var dart = [
|
| +["_foreign_helper", "dart:_foreign_helper", , H, {
|
| + "^": "",
|
| + JS_CONST: {
|
| + "^": "Object;code"
|
| + }
|
| +}],
|
| +["_interceptors", "dart:_interceptors", , J, {
|
| + "^": "",
|
| + getInterceptor: function(object) {
|
| + return void 0;
|
| + },
|
| + makeDispatchRecord: function(interceptor, proto, extension, indexability) {
|
| + return {i: interceptor, p: proto, e: extension, x: indexability};
|
| + },
|
| + getNativeInterceptor: function(object) {
|
| + var record, proto, objectProto, 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))));
|
| + }
|
| + interceptor = H.lookupAndCacheInterceptor(object);
|
| + if (interceptor == null) {
|
| + proto = Object.getPrototypeOf(object);
|
| + if (proto == null || proto === Object.prototype)
|
| + return C.PlainJavaScriptObject_methods;
|
| + else
|
| + return C.UnknownJavaScriptObject_methods;
|
| + }
|
| + return interceptor;
|
| + },
|
| + Interceptor: {
|
| + "^": "Object;",
|
| + $eq: function(receiver, other) {
|
| + return receiver === other;
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return H.Primitives_objectHashCode(receiver);
|
| + },
|
| + toString$0: ["super$Interceptor$toString$0", function(receiver) {
|
| + return H.Primitives_objectToString(receiver);
|
| + }],
|
| + "%": "MediaError|MediaKeyError|SVGAnimatedLength|SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberList|SVGAnimatedString"
|
| + },
|
| + JSBool: {
|
| + "^": "Interceptor;",
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return receiver ? 519018 : 218159;
|
| + },
|
| + $isbool: 1
|
| + },
|
| + JSNull: {
|
| + "^": "Interceptor;",
|
| + $eq: function(receiver, other) {
|
| + return null == other;
|
| + },
|
| + toString$0: function(receiver) {
|
| + return "null";
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return 0;
|
| + }
|
| + },
|
| + JavaScriptObject: {
|
| + "^": "Interceptor;",
|
| + get$hashCode: function(_) {
|
| + return 0;
|
| + },
|
| + $isJSObject: 1
|
| + },
|
| + PlainJavaScriptObject: {
|
| + "^": "JavaScriptObject;"
|
| + },
|
| + UnknownJavaScriptObject: {
|
| + "^": "JavaScriptObject;",
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + }
|
| + },
|
| + JSArray: {
|
| + "^": "Interceptor;",
|
| + checkMutable$1: function(receiver, reason) {
|
| + if (!!receiver.immutable$list)
|
| + throw H.wrapException(P.UnsupportedError$(reason));
|
| + },
|
| + checkGrowable$1: function(receiver, reason) {
|
| + if (!!receiver.fixed$length)
|
| + throw H.wrapException(P.UnsupportedError$(reason));
|
| + },
|
| + add$1: function(receiver, value) {
|
| + if (!!receiver.fixed$length)
|
| + H.throwExpression(P.UnsupportedError$("add"));
|
| + receiver.push(value);
|
| + },
|
| + removeAt$1: function(receiver, index) {
|
| + if (index >= receiver.length)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + this.checkGrowable$1(receiver, "removeAt");
|
| + return receiver.splice(index, 1)[0];
|
| + },
|
| + insert$2: function(receiver, index, value) {
|
| + if (index > receiver.length)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + this.checkGrowable$1(receiver, "insert");
|
| + receiver.splice(index, 0, value);
|
| + },
|
| + insertAll$2: function(receiver, index, iterable) {
|
| + var insertionLength, end;
|
| + this.checkGrowable$1(receiver, "insertAll");
|
| + P.RangeError_checkValueInInterval(index, 0, receiver.length, "index", null);
|
| + insertionLength = iterable.length;
|
| + this.set$length(receiver, receiver.length + insertionLength);
|
| + end = index + insertionLength;
|
| + this.setRange$4(receiver, end, receiver.length, receiver, index);
|
| + this.setRange$3(receiver, index, end, iterable);
|
| + },
|
| + removeLast$0: function(receiver) {
|
| + this.checkGrowable$1(receiver, "removeLast");
|
| + if (receiver.length === 0)
|
| + throw H.wrapException(P.RangeError$value(-1, null, null));
|
| + return receiver.pop();
|
| + },
|
| + remove$1: function(receiver, element) {
|
| + var i;
|
| + this.checkGrowable$1(receiver, "remove");
|
| + for (i = 0; i < receiver.length; ++i)
|
| + if (J.$eq(receiver[i], element)) {
|
| + receiver.splice(i, 1);
|
| + return true;
|
| + }
|
| + return false;
|
| + },
|
| + addAll$1: function(receiver, collection) {
|
| + var t1;
|
| + for (t1 = new H.ListIterator(collection, 2, 0, null); t1.moveNext$0();)
|
| + this.add$1(receiver, t1._current);
|
| + },
|
| + forEach$1: function(receiver, f) {
|
| + var end, i;
|
| + end = receiver.length;
|
| + for (i = 0; i < end; ++i) {
|
| + f.call$1(receiver[i]);
|
| + if (receiver.length !== end)
|
| + throw H.wrapException(P.ConcurrentModificationError$(receiver));
|
| + }
|
| + },
|
| + map$1: function(receiver, f) {
|
| + return H.setRuntimeTypeInfo(new H.MappedListIterable(receiver, f), [null, null]);
|
| + },
|
| + join$1: function(receiver, separator) {
|
| + var t1, list, i, t2;
|
| + t1 = receiver.length;
|
| + list = Array(t1);
|
| + list.fixed$length = Array;
|
| + for (i = 0; i < receiver.length; ++i) {
|
| + t2 = H.S(receiver[i]);
|
| + if (i >= t1)
|
| + return H.ioore(list, i);
|
| + list[i] = t2;
|
| + }
|
| + return list.join(separator);
|
| + },
|
| + join$0: function($receiver) {
|
| + return this.join$1($receiver, "");
|
| + },
|
| + skip$1: function(receiver, n) {
|
| + return H.SubListIterable$(receiver, n, null, H.getTypeArgumentByIndex(receiver, 0));
|
| + },
|
| + fold$2: function(receiver, initialValue, combine) {
|
| + var $length, value, i;
|
| + $length = receiver.length;
|
| + for (value = initialValue, i = 0; i < $length; ++i) {
|
| + value = combine.call$2(value, receiver[i]);
|
| + if (receiver.length !== $length)
|
| + throw H.wrapException(P.ConcurrentModificationError$(receiver));
|
| + }
|
| + return value;
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + if (index >>> 0 !== index || index >= receiver.length)
|
| + return H.ioore(receiver, index);
|
| + return receiver[index];
|
| + },
|
| + sublist$2: function(receiver, start, end) {
|
| + if (start < 0 || start > receiver.length)
|
| + throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
|
| + if (end < start || end > receiver.length)
|
| + throw H.wrapException(P.RangeError$range(end, start, receiver.length, null, null));
|
| + if (start === end)
|
| + return H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]);
|
| + return H.setRuntimeTypeInfo(receiver.slice(start, end), [H.getTypeArgumentByIndex(receiver, 0)]);
|
| + },
|
| + get$first: function(receiver) {
|
| + if (receiver.length > 0)
|
| + return receiver[0];
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + },
|
| + get$last: function(receiver) {
|
| + var t1 = receiver.length;
|
| + if (t1 > 0)
|
| + return receiver[t1 - 1];
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + },
|
| + setRange$4: function(receiver, start, end, iterable, skipCount) {
|
| + var $length, i, t1;
|
| + this.checkMutable$1(receiver, "set range");
|
| + P.RangeError_checkValidRange(start, end, receiver.length, null, null, null);
|
| + $length = end - start;
|
| + if ($length === 0)
|
| + return;
|
| + if (skipCount < 0)
|
| + H.throwExpression(P.RangeError$range(skipCount, 0, null, "skipCount", null));
|
| + if (skipCount + $length > iterable.length)
|
| + throw H.wrapException(H.IterableElementError_tooFew());
|
| + if (skipCount < start)
|
| + for (i = $length - 1; i >= 0; --i) {
|
| + t1 = skipCount + i;
|
| + if (t1 < 0 || t1 >= iterable.length)
|
| + return H.ioore(iterable, t1);
|
| + receiver[start + i] = iterable[t1];
|
| + }
|
| + else
|
| + for (i = 0; i < $length; ++i) {
|
| + t1 = skipCount + i;
|
| + if (t1 < 0 || t1 >= iterable.length)
|
| + return H.ioore(iterable, t1);
|
| + receiver[start + i] = iterable[t1];
|
| + }
|
| + },
|
| + setRange$3: function($receiver, start, end, iterable) {
|
| + return this.setRange$4($receiver, start, end, iterable, 0);
|
| + },
|
| + indexOf$2: function(receiver, element, start) {
|
| + var i, t1;
|
| + if (start >= receiver.length)
|
| + return -1;
|
| + if (start < 0)
|
| + start = 0;
|
| + for (i = start; t1 = receiver.length, i < t1; ++i) {
|
| + if (i < 0)
|
| + return H.ioore(receiver, i);
|
| + if (J.$eq(receiver[i], element))
|
| + return i;
|
| + }
|
| + return -1;
|
| + },
|
| + indexOf$1: function($receiver, element) {
|
| + return this.indexOf$2($receiver, element, 0);
|
| + },
|
| + contains$1: function(receiver, other) {
|
| + var i;
|
| + for (i = 0; i < receiver.length; ++i)
|
| + if (J.$eq(receiver[i], other))
|
| + return true;
|
| + return false;
|
| + },
|
| + get$isEmpty: function(receiver) {
|
| + return receiver.length === 0;
|
| + },
|
| + get$isNotEmpty: function(receiver) {
|
| + return receiver.length !== 0;
|
| + },
|
| + toString$0: function(receiver) {
|
| + return P.IterableBase_iterableToFullString(receiver, "[", "]");
|
| + },
|
| + toList$1$growable: function(receiver, growable) {
|
| + var t1;
|
| + if (growable)
|
| + return H.setRuntimeTypeInfo(receiver.slice(), [H.getTypeArgumentByIndex(receiver, 0)]);
|
| + else {
|
| + t1 = H.setRuntimeTypeInfo(receiver.slice(), [H.getTypeArgumentByIndex(receiver, 0)]);
|
| + t1.fixed$length = Array;
|
| + return t1;
|
| + }
|
| + },
|
| + toList$0: function($receiver) {
|
| + return this.toList$1$growable($receiver, true);
|
| + },
|
| + get$iterator: function(receiver) {
|
| + return new H.ListIterator(receiver, receiver.length, 0, null);
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return H.Primitives_objectHashCode(receiver);
|
| + },
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + set$length: function(receiver, newLength) {
|
| + if (newLength < 0)
|
| + throw H.wrapException(P.RangeError$value(newLength, null, null));
|
| + this.checkGrowable$1(receiver, "set length");
|
| + receiver.length = newLength;
|
| + },
|
| + $index: function(receiver, index) {
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(P.ArgumentError$(index));
|
| + if (index >= receiver.length || index < 0)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + if (!!receiver.immutable$list)
|
| + H.throwExpression(P.UnsupportedError$("indexed set"));
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(P.ArgumentError$(index));
|
| + if (index >= receiver.length || index < 0)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + receiver[index] = value;
|
| + },
|
| + $isJSIndexable: 1,
|
| + $isList: 1,
|
| + $asList: null,
|
| + $isEfficientLength: 1,
|
| + static: {JSArray_JSArray$fixed: function($length, $E) {
|
| + var t1;
|
| + if (typeof $length !== "number" || Math.floor($length) !== $length || $length < 0)
|
| + throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + H.S($length)));
|
| + t1 = H.setRuntimeTypeInfo(new Array($length), [$E]);
|
| + t1.fixed$length = Array;
|
| + return t1;
|
| + }}
|
| + },
|
| + JSNumber: {
|
| + "^": "Interceptor;",
|
| + get$isNaN: function(receiver) {
|
| + return isNaN(receiver);
|
| + },
|
| + get$isFinite: function(receiver) {
|
| + return isFinite(receiver);
|
| + },
|
| + remainder$1: function(receiver, b) {
|
| + return receiver % b;
|
| + },
|
| + 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));
|
| + },
|
| + round$0: function(receiver) {
|
| + if (receiver > 0) {
|
| + if (receiver !== 1 / 0)
|
| + return Math.round(receiver);
|
| + } else if (receiver > -1 / 0)
|
| + return 0 - Math.round(0 - receiver);
|
| + throw H.wrapException(P.UnsupportedError$("" + receiver));
|
| + },
|
| + toRadixString$1: function(receiver, radix) {
|
| + var result, match, t1, exponent;
|
| + H.checkInt(radix);
|
| + if (radix < 2 || radix > 36)
|
| + throw H.wrapException(P.RangeError$(radix));
|
| + 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 = J.getInterceptor$asx(match);
|
| + result = t1.$index(match, 1);
|
| + exponent = +t1.$index(match, 3);
|
| + if (t1.$index(match, 2) != null) {
|
| + result += t1.$index(match, 2);
|
| + exponent -= t1.$index(match, 2).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) {
|
| + return receiver & 0x1FFFFFFF;
|
| + },
|
| + $negate: function(receiver) {
|
| + return -receiver;
|
| + },
|
| + $add: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return receiver + other;
|
| + },
|
| + $sub: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return receiver - other;
|
| + },
|
| + $mul: function(receiver, other) {
|
| + return receiver * other;
|
| + },
|
| + _tdivFast$1: function(receiver, other) {
|
| + return (receiver | 0) === receiver ? receiver / other | 0 : this.toInt$0(receiver / other);
|
| + },
|
| + _shlPositive$1: function(receiver, other) {
|
| + return other > 31 ? 0 : receiver << other >>> 0;
|
| + },
|
| + _shrOtherPositive$1: function(receiver, other) {
|
| + var t1;
|
| + if (receiver > 0)
|
| + t1 = other > 31 ? 0 : receiver >>> other;
|
| + else {
|
| + t1 = other > 31 ? 31 : other;
|
| + t1 = receiver >> t1 >>> 0;
|
| + }
|
| + return t1;
|
| + },
|
| + _shrReceiverPositive$1: function(receiver, other) {
|
| + if (other < 0)
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return other > 31 ? 0 : receiver >>> other;
|
| + },
|
| + $lt: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return receiver < other;
|
| + },
|
| + $gt: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return receiver > other;
|
| + },
|
| + $ge: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return receiver >= other;
|
| + },
|
| + $isnum: 1
|
| + },
|
| + JSInt: {
|
| + "^": "JSNumber;",
|
| + $is$double: 1,
|
| + $isnum: 1,
|
| + $is$int: 1
|
| + },
|
| + JSDouble: {
|
| + "^": "JSNumber;",
|
| + $is$double: 1,
|
| + $isnum: 1
|
| + },
|
| + JSString: {
|
| + "^": "Interceptor;",
|
| + codeUnitAt$1: function(receiver, index) {
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(P.ArgumentError$(index));
|
| + if (index < 0)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + if (index >= receiver.length)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + return receiver.charCodeAt(index);
|
| + },
|
| + allMatches$2: function(receiver, string, start) {
|
| + var t1;
|
| + H.checkString(string);
|
| + H.checkInt(start);
|
| + t1 = J.get$length$asx(string);
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + t1 = start > t1;
|
| + if (t1)
|
| + throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(string), null, null));
|
| + return H.allMatchesInStringUnchecked(receiver, string, start);
|
| + },
|
| + allMatches$1: function($receiver, string) {
|
| + return this.allMatches$2($receiver, string, 0);
|
| + },
|
| + matchAsPrefix$2: function(receiver, string, start) {
|
| + var t1, i;
|
| + if (start < 0 || start > string.length)
|
| + throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
|
| + t1 = receiver.length;
|
| + if (start + t1 > string.length)
|
| + return;
|
| + for (i = 0; i < t1; ++i)
|
| + if (this.codeUnitAt$1(string, start + i) !== this.codeUnitAt$1(receiver, i))
|
| + return;
|
| + return new H.StringMatch(start, string, receiver);
|
| + },
|
| + $add: function(receiver, other) {
|
| + if (typeof other !== "string")
|
| + throw H.wrapException(P.ArgumentError$(other));
|
| + return receiver + other;
|
| + },
|
| + endsWith$1: function(receiver, other) {
|
| + var otherLength, t1;
|
| + H.checkString(other);
|
| + otherLength = other.length;
|
| + t1 = receiver.length;
|
| + if (otherLength > t1)
|
| + return false;
|
| + return other === this.substring$1(receiver, t1 - otherLength);
|
| + },
|
| + replaceAll$2: function(receiver, from, to) {
|
| + H.checkString(to);
|
| + return H.stringReplaceAllUnchecked(receiver, from, to);
|
| + },
|
| + replaceFirst$3: function(receiver, from, to, startIndex) {
|
| + H.checkString(to);
|
| + H.checkInt(startIndex);
|
| + P.RangeError_checkValueInInterval(startIndex, 0, receiver.length, "startIndex", null);
|
| + return H.stringReplaceFirstUnchecked(receiver, from, to, startIndex);
|
| + },
|
| + replaceFirst$2: function($receiver, from, to) {
|
| + return this.replaceFirst$3($receiver, from, to, 0);
|
| + },
|
| + split$1: function(receiver, pattern) {
|
| + return receiver.split(pattern);
|
| + },
|
| + replaceRange$3: function(receiver, start, end, replacement) {
|
| + H.checkString(replacement);
|
| + H.checkInt(start);
|
| + end = P.RangeError_checkValidRange(start, end, receiver.length, null, null, null);
|
| + H.checkInt(end);
|
| + return H.stringReplaceRangeUnchecked(receiver, start, end, replacement);
|
| + },
|
| + startsWith$2: function(receiver, pattern, index) {
|
| + var endIndex;
|
| + H.checkInt(index);
|
| + if (index > receiver.length)
|
| + throw H.wrapException(P.RangeError$range(index, 0, receiver.length, null, null));
|
| + if (typeof pattern === "string") {
|
| + endIndex = index + pattern.length;
|
| + if (endIndex > receiver.length)
|
| + return false;
|
| + return pattern === receiver.substring(index, endIndex);
|
| + }
|
| + return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
|
| + },
|
| + startsWith$1: function($receiver, pattern) {
|
| + return this.startsWith$2($receiver, pattern, 0);
|
| + },
|
| + substring$2: function(receiver, startIndex, endIndex) {
|
| + var t1;
|
| + if (typeof startIndex !== "number" || Math.floor(startIndex) !== startIndex)
|
| + H.throwExpression(P.ArgumentError$(startIndex));
|
| + if (endIndex == null)
|
| + endIndex = receiver.length;
|
| + if (typeof endIndex !== "number" || Math.floor(endIndex) !== endIndex)
|
| + H.throwExpression(P.ArgumentError$(endIndex));
|
| + t1 = J.getInterceptor$n(startIndex);
|
| + if (t1.$lt(startIndex, 0))
|
| + throw H.wrapException(P.RangeError$value(startIndex, null, null));
|
| + if (t1.$gt(startIndex, endIndex))
|
| + throw H.wrapException(P.RangeError$value(startIndex, null, null));
|
| + if (J.$gt$n(endIndex, receiver.length))
|
| + throw H.wrapException(P.RangeError$value(endIndex, null, null));
|
| + return receiver.substring(startIndex, endIndex);
|
| + },
|
| + substring$1: function($receiver, startIndex) {
|
| + return this.substring$2($receiver, startIndex, null);
|
| + },
|
| + trim$0: function(receiver) {
|
| + var result, endIndex, startIndex, t1, endIndex0;
|
| + result = receiver.trim();
|
| + endIndex = result.length;
|
| + if (endIndex === 0)
|
| + return result;
|
| + if (this.codeUnitAt$1(result, 0) === 133) {
|
| + startIndex = J.JSString__skipLeadingWhitespace(result, 1);
|
| + if (startIndex === endIndex)
|
| + return "";
|
| + } else
|
| + startIndex = 0;
|
| + t1 = endIndex - 1;
|
| + endIndex0 = this.codeUnitAt$1(result, t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex;
|
| + if (startIndex === 0 && endIndex0 === endIndex)
|
| + return result;
|
| + return result.substring(startIndex, endIndex0);
|
| + },
|
| + $mul: function(receiver, times) {
|
| + var s, result;
|
| + if (typeof times !== "number")
|
| + return H.iae(times);
|
| + 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;
|
| + },
|
| + get$codeUnits: function(receiver) {
|
| + return new H.CodeUnits(receiver);
|
| + },
|
| + indexOf$2: function(receiver, pattern, start) {
|
| + if (start < 0 || start > receiver.length)
|
| + throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
|
| + return receiver.indexOf(pattern, start);
|
| + },
|
| + indexOf$1: function($receiver, pattern) {
|
| + return this.indexOf$2($receiver, pattern, 0);
|
| + },
|
| + lastIndexOf$2: function(receiver, pattern, start) {
|
| + var t1, t2;
|
| + if (start == null)
|
| + start = receiver.length;
|
| + else if (start < 0 || start > receiver.length)
|
| + throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
|
| + t1 = pattern.length;
|
| + if (typeof start !== "number")
|
| + return start.$add();
|
| + t2 = receiver.length;
|
| + if (start + t1 > t2)
|
| + start = t2 - t1;
|
| + return receiver.lastIndexOf(pattern, start);
|
| + },
|
| + lastIndexOf$1: function($receiver, pattern) {
|
| + return this.lastIndexOf$2($receiver, pattern, null);
|
| + },
|
| + contains$2: function(receiver, other, startIndex) {
|
| + if (other == null)
|
| + H.throwExpression(P.ArgumentError$(null));
|
| + if (startIndex > receiver.length)
|
| + throw H.wrapException(P.RangeError$range(startIndex, 0, receiver.length, null, null));
|
| + return H.stringContainsUnchecked(receiver, other, startIndex);
|
| + },
|
| + contains$1: function($receiver, other) {
|
| + return this.contains$2($receiver, other, 0);
|
| + },
|
| + get$isEmpty: function(receiver) {
|
| + return receiver.length === 0;
|
| + },
|
| + get$isNotEmpty: function(receiver) {
|
| + return receiver.length !== 0;
|
| + },
|
| + 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 >>> 0);
|
| + hash ^= hash >> 6;
|
| + }
|
| + hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0);
|
| + hash ^= hash >> 11;
|
| + return 536870911 & hash + ((16383 & hash) << 15 >>> 0);
|
| + },
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(P.ArgumentError$(index));
|
| + if (index >= receiver.length || index < 0)
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + return receiver[index];
|
| + },
|
| + $isJSIndexable: 1,
|
| + $isString: 1,
|
| + static: {JSString__isWhitespace: function(codeUnit) {
|
| + if (codeUnit < 256)
|
| + switch (codeUnit) {
|
| + case 9:
|
| + case 10:
|
| + case 11:
|
| + case 12:
|
| + case 13:
|
| + case 32:
|
| + case 133:
|
| + case 160:
|
| + return true;
|
| + default:
|
| + return false;
|
| + }
|
| + switch (codeUnit) {
|
| + case 5760:
|
| + case 6158:
|
| + case 8192:
|
| + case 8193:
|
| + case 8194:
|
| + case 8195:
|
| + case 8196:
|
| + case 8197:
|
| + case 8198:
|
| + case 8199:
|
| + case 8200:
|
| + case 8201:
|
| + case 8202:
|
| + case 8232:
|
| + case 8233:
|
| + case 8239:
|
| + case 8287:
|
| + case 12288:
|
| + case 65279:
|
| + return true;
|
| + default:
|
| + return false;
|
| + }
|
| + }, JSString__skipLeadingWhitespace: function(string, index) {
|
| + var t1, codeUnit;
|
| + for (t1 = string.length; index < t1;) {
|
| + codeUnit = C.JSString_methods.codeUnitAt$1(string, index);
|
| + if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
|
| + break;
|
| + ++index;
|
| + }
|
| + return index;
|
| + }, JSString__skipTrailingWhitespace: function(string, index) {
|
| + var index0, codeUnit;
|
| + for (; index > 0; index = index0) {
|
| + index0 = index - 1;
|
| + codeUnit = C.JSString_methods.codeUnitAt$1(string, index0);
|
| + if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
|
| + break;
|
| + }
|
| + return index;
|
| + }}
|
| + }
|
| +}],
|
| +["_isolate_helper", "dart:_isolate_helper", , H, {
|
| + "^": "",
|
| + _callInIsolate: function(isolate, $function) {
|
| + var result = isolate.eval$1($function);
|
| + init.globalState.topEventLoop.run$0();
|
| + return result;
|
| + },
|
| + leaveJsAsync: function() {
|
| + --init.globalState.topEventLoop._activeJsAsyncCount;
|
| + },
|
| + startRootIsolate: function(entry, args) {
|
| + var t1, t2, t3, t4, t5, rootContext;
|
| + t1 = {};
|
| + t1.args_0 = args;
|
| + args = args;
|
| + t1.args_0 = args;
|
| + if (args == null) {
|
| + args = [];
|
| + t1.args_0 = args;
|
| + t2 = args;
|
| + } else
|
| + t2 = args;
|
| + if (!J.getInterceptor(t2).$isList)
|
| + throw H.wrapException(P.ArgumentError$("Arguments to main must be a List: " + H.S(t2)));
|
| + t2 = new H._Manager(0, 0, 1, null, null, null, null, null, null, null, null, null, entry);
|
| + t2._Manager$1(entry);
|
| + init.globalState = t2;
|
| + if (init.globalState.isWorker === true)
|
| + return;
|
| + t2 = init.globalState.nextIsolateId++;
|
| + t3 = P.LinkedHashMap_LinkedHashMap(null, null, null, P.$int, H.RawReceivePortImpl);
|
| + t4 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.$int);
|
| + t5 = new H.RawReceivePortImpl(0, null, false);
|
| + rootContext = new H._IsolateContext(t2, t3, t4, init.createNewIsolate(), t5, new H.CapabilityImpl(H.random64()), new H.CapabilityImpl(H.random64()), false, false, [], P.LinkedHashSet_LinkedHashSet(null, null, null, null), null, null, false, true, P.LinkedHashSet_LinkedHashSet(null, null, null, null));
|
| + t4.add$1(0, 0);
|
| + rootContext._addRegistration$2(0, t5);
|
| + init.globalState.rootContext = rootContext;
|
| + init.globalState.currentContext = rootContext;
|
| + t2 = H.getDynamicRuntimeType();
|
| + t3 = H.buildFunctionType(t2, [t2])._isTest$1(entry);
|
| + if (t3)
|
| + rootContext.eval$1(new H.startRootIsolate_closure(t1, entry));
|
| + else {
|
| + t2 = H.buildFunctionType(t2, [t2, t2])._isTest$1(entry);
|
| + if (t2)
|
| + rootContext.eval$1(new H.startRootIsolate_closure0(t1, entry));
|
| + else
|
| + rootContext.eval$1(entry);
|
| + }
|
| + init.globalState.topEventLoop.run$0();
|
| + },
|
| + IsolateNatives_computeThisScript: function() {
|
| + var currentScript = init.currentScript;
|
| + if (currentScript != null)
|
| + return String(currentScript.src);
|
| + if (typeof version == "function" && typeof os == "object" && "system" in os)
|
| + return H.IsolateNatives_computeThisScriptFromTrace();
|
| + if (typeof version == "function" && typeof system == "function")
|
| + return thisFilename();
|
| + if (init.globalState.isWorker === true)
|
| + return H.IsolateNatives_computeThisScriptFromTrace();
|
| + return;
|
| + },
|
| + IsolateNatives_computeThisScriptFromTrace: function() {
|
| + var stack, matches;
|
| + stack = new Error().stack;
|
| + if (stack == null) {
|
| + stack = function() {
|
| + try {
|
| + throw new Error();
|
| + } catch (e) {
|
| + return e.stack;
|
| + }
|
| + }();
|
| + if (stack == null)
|
| + throw H.wrapException(P.UnsupportedError$("No stack trace"));
|
| + }
|
| + matches = stack.match(new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "m"));
|
| + if (matches != null)
|
| + return matches[1];
|
| + matches = stack.match(new RegExp("^[^@]*@(.*):[0-9]*$", "m"));
|
| + if (matches != null)
|
| + return matches[1];
|
| + throw H.wrapException(P.UnsupportedError$("Cannot extract URI from \"" + H.S(stack) + "\""));
|
| + },
|
| + IsolateNatives__processWorkerMessage: function(sender, e) {
|
| + var msg, t1, functionName, entryPoint, args, message, isSpawnUri, startPaused, replyTo, t2, t3, t4, context;
|
| + msg = new H._Deserializer(true, []).deserialize$1(e.data);
|
| + t1 = J.getInterceptor$asx(msg);
|
| + switch (t1.$index(msg, "command")) {
|
| + case "start":
|
| + init.globalState.currentManagerId = t1.$index(msg, "id");
|
| + functionName = t1.$index(msg, "functionName");
|
| + entryPoint = functionName == null ? init.globalState.entry : H.IsolateNatives__getJSFunctionFromName(functionName);
|
| + args = t1.$index(msg, "args");
|
| + message = new H._Deserializer(true, []).deserialize$1(t1.$index(msg, "msg"));
|
| + isSpawnUri = t1.$index(msg, "isSpawnUri");
|
| + startPaused = t1.$index(msg, "startPaused");
|
| + replyTo = new H._Deserializer(true, []).deserialize$1(t1.$index(msg, "replyTo"));
|
| + t1 = init.globalState.nextIsolateId++;
|
| + t2 = P.LinkedHashMap_LinkedHashMap(null, null, null, P.$int, H.RawReceivePortImpl);
|
| + t3 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.$int);
|
| + t4 = new H.RawReceivePortImpl(0, null, false);
|
| + context = new H._IsolateContext(t1, t2, t3, init.createNewIsolate(), t4, new H.CapabilityImpl(H.random64()), new H.CapabilityImpl(H.random64()), false, false, [], P.LinkedHashSet_LinkedHashSet(null, null, null, null), null, null, false, true, P.LinkedHashSet_LinkedHashSet(null, null, null, null));
|
| + t3.add$1(0, 0);
|
| + context._addRegistration$2(0, t4);
|
| + init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(context, new H.IsolateNatives__processWorkerMessage_closure(entryPoint, args, message, isSpawnUri, startPaused, replyTo), "worker-start"));
|
| + init.globalState.currentContext = context;
|
| + init.globalState.topEventLoop.run$0();
|
| + break;
|
| + case "spawn-worker":
|
| + break;
|
| + case "message":
|
| + if (t1.$index(msg, "port") != null)
|
| + J.send$1$x(t1.$index(msg, "port"), t1.$index(msg, "msg"));
|
| + init.globalState.topEventLoop.run$0();
|
| + break;
|
| + case "close":
|
| + init.globalState.managers.remove$1(0, $.get$IsolateNatives_workerIds().$index(0, sender));
|
| + sender.terminate();
|
| + init.globalState.topEventLoop.run$0();
|
| + break;
|
| + case "log":
|
| + H.IsolateNatives__log(t1.$index(msg, "msg"));
|
| + break;
|
| + case "print":
|
| + if (init.globalState.isWorker === true) {
|
| + t1 = init.globalState.mainManager;
|
| + t2 = P.LinkedHashMap_LinkedHashMap$_literal(["command", "print", "msg", msg], null, null);
|
| + t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(t2);
|
| + t1.toString;
|
| + self.postMessage(t2);
|
| + } else
|
| + P.print(t1.$index(msg, "msg"));
|
| + break;
|
| + case "error":
|
| + throw H.wrapException(t1.$index(msg, "msg"));
|
| + }
|
| + },
|
| + IsolateNatives__log: function(msg) {
|
| + var trace, t1, t2, exception;
|
| + if (init.globalState.isWorker === true) {
|
| + t1 = init.globalState.mainManager;
|
| + t2 = P.LinkedHashMap_LinkedHashMap$_literal(["command", "log", "msg", msg], null, null);
|
| + t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(t2);
|
| + t1.toString;
|
| + self.postMessage(t2);
|
| + } else
|
| + try {
|
| + self.console.log(msg);
|
| + } catch (exception) {
|
| + H.unwrapException(exception);
|
| + trace = H.getTraceFromException(exception);
|
| + throw H.wrapException(P.Exception_Exception(trace));
|
| + }
|
| + },
|
| + IsolateNatives__getJSFunctionFromName: function(functionName) {
|
| + return init.globalFunctions[functionName]();
|
| + },
|
| + IsolateNatives__startIsolate: function(topLevel, args, message, isSpawnUri, startPaused, replyTo) {
|
| + var context, t1, t2, t3;
|
| + context = init.globalState.currentContext;
|
| + t1 = context.id;
|
| + $.Primitives_mirrorFunctionCacheName = $.Primitives_mirrorFunctionCacheName + ("_" + t1);
|
| + $.Primitives_mirrorInvokeCacheName = $.Primitives_mirrorInvokeCacheName + ("_" + t1);
|
| + t1 = context.controlPort;
|
| + t2 = init.globalState.currentContext.id;
|
| + t3 = context.pauseCapability;
|
| + J.send$1$x(replyTo, ["spawned", new H._NativeJsSendPort(t1, t2), t3, context.terminateCapability]);
|
| + t2 = new H.IsolateNatives__startIsolate_runStartFunction(topLevel, args, message, isSpawnUri, context);
|
| + if (startPaused === true) {
|
| + context.addPause$2(t3, t3);
|
| + init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(context, t2, "start isolate"));
|
| + } else
|
| + t2.call$0();
|
| + },
|
| + _clone: function(message) {
|
| + return new H._Deserializer(true, []).deserialize$1(new H._Serializer(false, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(message));
|
| + },
|
| + startRootIsolate_closure: {
|
| + "^": "Closure:0;box_0,entry_1",
|
| + call$0: function() {
|
| + this.entry_1.call$1(this.box_0.args_0);
|
| + }
|
| + },
|
| + startRootIsolate_closure0: {
|
| + "^": "Closure:0;box_0,entry_2",
|
| + call$0: function() {
|
| + this.entry_2.call$2(this.box_0.args_0, null);
|
| + }
|
| + },
|
| + _Manager: {
|
| + "^": "Object;nextIsolateId,currentManagerId,nextManagerId,currentContext,rootContext,topEventLoop,fromCommandLine,isWorker,supportsWorkers,isolates,mainManager,managers,entry",
|
| + _Manager$1: function(entry) {
|
| + var t1, t2, t3;
|
| + t1 = self.window == null;
|
| + t2 = self.Worker;
|
| + t3 = t1 && !!self.postMessage;
|
| + this.isWorker = t3;
|
| + if (!t3)
|
| + t2 = t2 != null && $.get$IsolateNatives_thisScript() != null;
|
| + else
|
| + t2 = true;
|
| + this.supportsWorkers = t2;
|
| + this.fromCommandLine = t1 && !t3;
|
| + this.topEventLoop = new H._EventLoop(P.ListQueue$(null, H._IsolateEvent), 0);
|
| + this.isolates = P.LinkedHashMap_LinkedHashMap(null, null, null, P.$int, H._IsolateContext);
|
| + this.managers = P.LinkedHashMap_LinkedHashMap(null, null, null, P.$int, null);
|
| + if (this.isWorker === true) {
|
| + t1 = new H._MainManagerStub();
|
| + this.mainManager = t1;
|
| + self.onmessage = function(f, a) {
|
| + return function(e) {
|
| + f(a, e);
|
| + };
|
| + }(H.IsolateNatives__processWorkerMessage, t1);
|
| + self.dartPrint = self.dartPrint || function(serialize) {
|
| + return function(object) {
|
| + if (self.console && self.console.log)
|
| + self.console.log(object);
|
| + else
|
| + self.postMessage(serialize(object));
|
| + };
|
| + }(H._Manager__serializePrintMessage);
|
| + }
|
| + },
|
| + static: {_Manager__serializePrintMessage: function(object) {
|
| + var t1 = P.LinkedHashMap_LinkedHashMap$_literal(["command", "print", "msg", object], null, null);
|
| + return new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(t1);
|
| + }}
|
| + },
|
| + _IsolateContext: {
|
| + "^": "Object;id,ports,weakPorts,isolateStatics<,controlPort<,pauseCapability,terminateCapability,initialized,isPaused,delayedEvents,pauseTokens,doneHandlers,_scheduledControlEvents,_isExecutingEvent,errorsAreFatal,errorPorts",
|
| + addPause$2: function(authentification, resume) {
|
| + if (!this.pauseCapability.$eq(0, authentification))
|
| + return;
|
| + if (this.pauseTokens.add$1(0, resume) && !this.isPaused)
|
| + this.isPaused = true;
|
| + this._updateGlobalState$0();
|
| + },
|
| + removePause$1: function(resume) {
|
| + var t1, t2, $event, t3, t4, t5;
|
| + if (!this.isPaused)
|
| + return;
|
| + t1 = this.pauseTokens;
|
| + t1.remove$1(0, resume);
|
| + if (t1._collection$_length === 0) {
|
| + for (t1 = this.delayedEvents; t2 = t1.length, t2 !== 0;) {
|
| + if (0 >= t2)
|
| + return H.ioore(t1, 0);
|
| + $event = t1.pop();
|
| + t2 = init.globalState.topEventLoop.events;
|
| + t3 = t2._head;
|
| + t4 = t2._table;
|
| + t5 = t4.length;
|
| + t3 = (t3 - 1 & t5 - 1) >>> 0;
|
| + t2._head = t3;
|
| + if (t3 < 0 || t3 >= t5)
|
| + return H.ioore(t4, t3);
|
| + t4[t3] = $event;
|
| + if (t3 === t2._tail)
|
| + t2._grow$0();
|
| + ++t2._modificationCount;
|
| + }
|
| + this.isPaused = false;
|
| + }
|
| + this._updateGlobalState$0();
|
| + },
|
| + addDoneListener$1: function(responsePort) {
|
| + var t1 = this.doneHandlers;
|
| + if (t1 == null) {
|
| + t1 = [];
|
| + this.doneHandlers = t1;
|
| + }
|
| + if (J.contains$1$asx(t1, responsePort))
|
| + return;
|
| + this.doneHandlers.push(responsePort);
|
| + },
|
| + removeDoneListener$1: function(responsePort) {
|
| + var t1 = this.doneHandlers;
|
| + if (t1 == null)
|
| + return;
|
| + J.remove$1$ax(t1, responsePort);
|
| + },
|
| + setErrorsFatal$2: function(authentification, errorsAreFatal) {
|
| + if (!this.terminateCapability.$eq(0, authentification))
|
| + return;
|
| + this.errorsAreFatal = errorsAreFatal;
|
| + },
|
| + handlePing$2: function(responsePort, pingType) {
|
| + var t1, t2;
|
| + t1 = J.getInterceptor(pingType);
|
| + if (!t1.$eq(pingType, 0))
|
| + t2 = t1.$eq(pingType, 1) && !this._isExecutingEvent;
|
| + else
|
| + t2 = true;
|
| + if (t2) {
|
| + J.send$1$x(responsePort, null);
|
| + return;
|
| + }
|
| + t2 = new H._IsolateContext_handlePing_respond(responsePort);
|
| + if (t1.$eq(pingType, 2)) {
|
| + init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(this, t2, "ping"));
|
| + return;
|
| + }
|
| + t1 = this._scheduledControlEvents;
|
| + if (t1 == null) {
|
| + t1 = P.ListQueue$(null, null);
|
| + this._scheduledControlEvents = t1;
|
| + }
|
| + t1._add$1(t2);
|
| + },
|
| + handleKill$2: function(authentification, priority) {
|
| + var t1, t2;
|
| + if (!this.terminateCapability.$eq(0, authentification))
|
| + return;
|
| + t1 = J.getInterceptor(priority);
|
| + if (!t1.$eq(priority, 0))
|
| + t2 = t1.$eq(priority, 1) && !this._isExecutingEvent;
|
| + else
|
| + t2 = true;
|
| + if (t2) {
|
| + this.kill$0();
|
| + return;
|
| + }
|
| + if (t1.$eq(priority, 2)) {
|
| + t1 = init.globalState.topEventLoop;
|
| + t2 = this.get$kill();
|
| + t1.events._add$1(new H._IsolateEvent(this, t2, "kill"));
|
| + return;
|
| + }
|
| + t1 = this._scheduledControlEvents;
|
| + if (t1 == null) {
|
| + t1 = P.ListQueue$(null, null);
|
| + this._scheduledControlEvents = t1;
|
| + }
|
| + t1._add$1(this.get$kill());
|
| + },
|
| + handleUncaughtError$2: function(error, stackTrace) {
|
| + var t1, message, t2;
|
| + t1 = this.errorPorts;
|
| + if (t1._collection$_length === 0) {
|
| + if (this.errorsAreFatal === true && this === init.globalState.rootContext)
|
| + return;
|
| + if (self.console && self.console.error)
|
| + self.console.error(error, stackTrace);
|
| + else {
|
| + P.print(error);
|
| + if (stackTrace != null)
|
| + P.print(stackTrace);
|
| + }
|
| + return;
|
| + }
|
| + message = Array(2);
|
| + message.fixed$length = Array;
|
| + message[0] = J.toString$0(error);
|
| + message[1] = stackTrace == null ? null : J.toString$0(stackTrace);
|
| + for (t2 = new P.LinkedHashSetIterator(t1, t1._collection$_modifications, null, null), t2._collection$_cell = t1._collection$_first; t2.moveNext$0();)
|
| + J.send$1$x(t2._collection$_current, message);
|
| + },
|
| + eval$1: function(code) {
|
| + var old, result, e, s, exception, t1;
|
| + old = init.globalState.currentContext;
|
| + init.globalState.currentContext = this;
|
| + $ = this.isolateStatics;
|
| + result = null;
|
| + this._isExecutingEvent = true;
|
| + try {
|
| + result = code.call$0();
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + this.handleUncaughtError$2(e, s);
|
| + if (this.errorsAreFatal === true) {
|
| + this.kill$0();
|
| + if (this === init.globalState.rootContext)
|
| + throw exception;
|
| + }
|
| + } finally {
|
| + this._isExecutingEvent = false;
|
| + init.globalState.currentContext = old;
|
| + if (old != null)
|
| + $ = old.get$isolateStatics();
|
| + if (this._scheduledControlEvents != null)
|
| + for (; t1 = this._scheduledControlEvents, !t1.get$isEmpty(t1);)
|
| + this._scheduledControlEvents.removeFirst$0().call$0();
|
| + }
|
| + return result;
|
| + },
|
| + lookup$1: function(portId) {
|
| + return this.ports.$index(0, portId);
|
| + },
|
| + _addRegistration$2: function(portId, port) {
|
| + var t1 = this.ports;
|
| + if (t1.containsKey$1(portId))
|
| + throw H.wrapException(P.Exception_Exception("Registry: ports must be registered only once."));
|
| + t1.$indexSet(0, portId, port);
|
| + },
|
| + _updateGlobalState$0: function() {
|
| + if (this.ports.__js_helper$_length - this.weakPorts._collection$_length > 0 || this.isPaused || !this.initialized)
|
| + init.globalState.isolates.$indexSet(0, this.id, this);
|
| + else
|
| + this.kill$0();
|
| + },
|
| + kill$0: [function() {
|
| + var t1, t2;
|
| + t1 = this._scheduledControlEvents;
|
| + if (t1 != null)
|
| + t1.clear$0(0);
|
| + for (t1 = this.ports, t2 = t1.get$values(t1), t2 = H.setRuntimeTypeInfo(new H.MappedIterator(null, J.get$iterator$ax(t2._iterable), t2._f), [H.getTypeArgumentByIndex(t2, 0), H.getTypeArgumentByIndex(t2, 1)]); t2.moveNext$0();)
|
| + t2._current.__isolate_helper$_close$0();
|
| + t1.clear$0(0);
|
| + this.weakPorts.clear$0(0);
|
| + init.globalState.isolates.remove$1(0, this.id);
|
| + this.errorPorts.clear$0(0);
|
| + t1 = this.doneHandlers;
|
| + if (t1 != null) {
|
| + for (t1 = new H.ListIterator(t1, t1.length, 0, null); t1.moveNext$0();)
|
| + J.send$1$x(t1._current, null);
|
| + this.doneHandlers = null;
|
| + }
|
| + }, "call$0", "get$kill", 0, 0, 1]
|
| + },
|
| + _IsolateContext_handlePing_respond: {
|
| + "^": "Closure:1;responsePort_0",
|
| + call$0: function() {
|
| + J.send$1$x(this.responsePort_0, null);
|
| + }
|
| + },
|
| + _EventLoop: {
|
| + "^": "Object;events,_activeJsAsyncCount",
|
| + dequeue$0: function() {
|
| + var t1 = this.events;
|
| + if (t1._head === t1._tail)
|
| + return;
|
| + return t1.removeFirst$0();
|
| + },
|
| + runIteration$0: function() {
|
| + var $event, t1, t2;
|
| + $event = this.dequeue$0();
|
| + if ($event == null) {
|
| + if (init.globalState.rootContext != null && init.globalState.isolates.containsKey$1(init.globalState.rootContext.id) && init.globalState.fromCommandLine === true && init.globalState.rootContext.ports.__js_helper$_length === 0)
|
| + H.throwExpression(P.Exception_Exception("Program exited with open ReceivePorts."));
|
| + t1 = init.globalState;
|
| + if (t1.isWorker === true && t1.isolates.__js_helper$_length === 0 && t1.topEventLoop._activeJsAsyncCount === 0) {
|
| + t1 = t1.mainManager;
|
| + t2 = P.LinkedHashMap_LinkedHashMap$_literal(["command", "close"], null, null);
|
| + t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(t2);
|
| + t1.toString;
|
| + self.postMessage(t2);
|
| + }
|
| + return false;
|
| + }
|
| + $event.process$0();
|
| + return true;
|
| + },
|
| + _runHelper$0: function() {
|
| + if (self.window != null)
|
| + new H._EventLoop__runHelper_next(this).call$0();
|
| + else
|
| + for (; this.runIteration$0();)
|
| + ;
|
| + },
|
| + run$0: function() {
|
| + var e, trace, exception, t1, t2;
|
| + if (init.globalState.isWorker !== true)
|
| + this._runHelper$0();
|
| + else
|
| + try {
|
| + this._runHelper$0();
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + trace = H.getTraceFromException(exception);
|
| + t1 = init.globalState.mainManager;
|
| + t2 = P.LinkedHashMap_LinkedHashMap$_literal(["command", "error", "msg", H.S(e) + "\n" + H.S(trace)], null, null);
|
| + t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(t2);
|
| + t1.toString;
|
| + self.postMessage(t2);
|
| + }
|
| + }
|
| + },
|
| + _EventLoop__runHelper_next: {
|
| + "^": "Closure:1;this_0",
|
| + call$0: function() {
|
| + if (!this.this_0.runIteration$0())
|
| + return;
|
| + P.Timer_Timer(C.Duration_0, this);
|
| + }
|
| + },
|
| + _IsolateEvent: {
|
| + "^": "Object;isolate,fn,message>",
|
| + process$0: function() {
|
| + var t1 = this.isolate;
|
| + if (t1.isPaused) {
|
| + t1.delayedEvents.push(this);
|
| + return;
|
| + }
|
| + t1.eval$1(this.fn);
|
| + }
|
| + },
|
| + _MainManagerStub: {
|
| + "^": "Object;"
|
| + },
|
| + IsolateNatives__processWorkerMessage_closure: {
|
| + "^": "Closure:0;entryPoint_0,args_1,message_2,isSpawnUri_3,startPaused_4,replyTo_5",
|
| + call$0: function() {
|
| + H.IsolateNatives__startIsolate(this.entryPoint_0, this.args_1, this.message_2, this.isSpawnUri_3, this.startPaused_4, this.replyTo_5);
|
| + }
|
| + },
|
| + IsolateNatives__startIsolate_runStartFunction: {
|
| + "^": "Closure:1;topLevel_0,args_1,message_2,isSpawnUri_3,context_4",
|
| + call$0: function() {
|
| + var t1, t2, t3;
|
| + this.context_4.initialized = true;
|
| + if (this.isSpawnUri_3 !== true)
|
| + this.topLevel_0.call$1(this.message_2);
|
| + else {
|
| + t1 = this.topLevel_0;
|
| + t2 = H.getDynamicRuntimeType();
|
| + t3 = H.buildFunctionType(t2, [t2, t2])._isTest$1(t1);
|
| + if (t3)
|
| + t1.call$2(this.args_1, this.message_2);
|
| + else {
|
| + t2 = H.buildFunctionType(t2, [t2])._isTest$1(t1);
|
| + if (t2)
|
| + t1.call$1(this.args_1);
|
| + else
|
| + t1.call$0();
|
| + }
|
| + }
|
| + }
|
| + },
|
| + _BaseSendPort: {
|
| + "^": "Object;"
|
| + },
|
| + _NativeJsSendPort: {
|
| + "^": "_BaseSendPort;_receivePort,_isolateId",
|
| + send$1: function(_, message) {
|
| + var isolate, t1, msg, t2;
|
| + isolate = init.globalState.isolates.$index(0, this._isolateId);
|
| + if (isolate == null)
|
| + return;
|
| + t1 = this._receivePort;
|
| + if (t1.get$_isClosed())
|
| + return;
|
| + msg = H._clone(message);
|
| + if (isolate.get$controlPort() === t1) {
|
| + t1 = J.getInterceptor$asx(msg);
|
| + switch (t1.$index(msg, 0)) {
|
| + case "pause":
|
| + isolate.addPause$2(t1.$index(msg, 1), t1.$index(msg, 2));
|
| + break;
|
| + case "resume":
|
| + isolate.removePause$1(t1.$index(msg, 1));
|
| + break;
|
| + case "add-ondone":
|
| + isolate.addDoneListener$1(t1.$index(msg, 1));
|
| + break;
|
| + case "remove-ondone":
|
| + isolate.removeDoneListener$1(t1.$index(msg, 1));
|
| + break;
|
| + case "set-errors-fatal":
|
| + isolate.setErrorsFatal$2(t1.$index(msg, 1), t1.$index(msg, 2));
|
| + break;
|
| + case "ping":
|
| + isolate.handlePing$2(t1.$index(msg, 1), t1.$index(msg, 2));
|
| + break;
|
| + case "kill":
|
| + isolate.handleKill$2(t1.$index(msg, 1), t1.$index(msg, 2));
|
| + break;
|
| + case "getErrors":
|
| + t1 = t1.$index(msg, 1);
|
| + isolate.errorPorts.add$1(0, t1);
|
| + break;
|
| + case "stopErrors":
|
| + t1 = t1.$index(msg, 1);
|
| + isolate.errorPorts.remove$1(0, t1);
|
| + break;
|
| + }
|
| + return;
|
| + }
|
| + t1 = init.globalState.topEventLoop;
|
| + t2 = "receive " + H.S(message);
|
| + t1.events._add$1(new H._IsolateEvent(isolate, new H._NativeJsSendPort_send_closure(this, msg), t2));
|
| + },
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + return other instanceof H._NativeJsSendPort && J.$eq(this._receivePort, other._receivePort);
|
| + },
|
| + get$hashCode: function(_) {
|
| + return this._receivePort.get$_id();
|
| + }
|
| + },
|
| + _NativeJsSendPort_send_closure: {
|
| + "^": "Closure:0;this_0,msg_1",
|
| + call$0: function() {
|
| + var t1 = this.this_0._receivePort;
|
| + if (!t1.get$_isClosed())
|
| + t1.__isolate_helper$_add$1(this.msg_1);
|
| + }
|
| + },
|
| + _WorkerSendPort: {
|
| + "^": "_BaseSendPort;_workerId,_receivePortId,_isolateId",
|
| + send$1: function(_, message) {
|
| + var t1, workerMessage, manager;
|
| + t1 = P.LinkedHashMap_LinkedHashMap$_literal(["command", "message", "port", this, "msg", message], null, null);
|
| + workerMessage = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(t1);
|
| + if (init.globalState.isWorker === true) {
|
| + init.globalState.mainManager.toString;
|
| + self.postMessage(workerMessage);
|
| + } else {
|
| + manager = init.globalState.managers.$index(0, this._workerId);
|
| + if (manager != null)
|
| + manager.postMessage(workerMessage);
|
| + }
|
| + },
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + return other instanceof H._WorkerSendPort && J.$eq(this._workerId, other._workerId) && J.$eq(this._isolateId, other._isolateId) && J.$eq(this._receivePortId, other._receivePortId);
|
| + },
|
| + get$hashCode: function(_) {
|
| + var t1, t2, t3;
|
| + t1 = this._workerId;
|
| + if (typeof t1 !== "number")
|
| + return t1.$shl();
|
| + t2 = this._isolateId;
|
| + if (typeof t2 !== "number")
|
| + return t2.$shl();
|
| + t3 = this._receivePortId;
|
| + if (typeof t3 !== "number")
|
| + return H.iae(t3);
|
| + return (t1 << 16 ^ t2 << 8 ^ t3) >>> 0;
|
| + }
|
| + },
|
| + RawReceivePortImpl: {
|
| + "^": "Object;_id<,_handler,_isClosed<",
|
| + __isolate_helper$_close$0: function() {
|
| + this._isClosed = true;
|
| + this._handler = null;
|
| + },
|
| + close$0: function(_) {
|
| + var t1, t2;
|
| + if (this._isClosed)
|
| + return;
|
| + this._isClosed = true;
|
| + this._handler = null;
|
| + t1 = init.globalState.currentContext;
|
| + t2 = this._id;
|
| + t1.ports.remove$1(0, t2);
|
| + t1.weakPorts.remove$1(0, t2);
|
| + t1._updateGlobalState$0();
|
| + },
|
| + __isolate_helper$_add$1: function(dataEvent) {
|
| + if (this._isClosed)
|
| + return;
|
| + this._handler$1(dataEvent);
|
| + },
|
| + _handler$1: function(arg0) {
|
| + return this._handler.call$1(arg0);
|
| + },
|
| + $isRawReceivePort: 1
|
| + },
|
| + TimerImpl: {
|
| + "^": "Object;_once,_inEventLoop,_handle",
|
| + TimerImpl$periodic$2: function(milliseconds, callback) {
|
| + if (self.setTimeout != null) {
|
| + ++init.globalState.topEventLoop._activeJsAsyncCount;
|
| + this._handle = self.setInterval(H.convertDartClosureToJS(new H.TimerImpl$periodic_closure(this, callback), 0), milliseconds);
|
| + } else
|
| + throw H.wrapException(P.UnsupportedError$("Periodic timer."));
|
| + },
|
| + TimerImpl$2: function(milliseconds, callback) {
|
| + var t1, t2;
|
| + if (milliseconds === 0)
|
| + t1 = self.setTimeout == null || init.globalState.isWorker === true;
|
| + else
|
| + t1 = false;
|
| + if (t1) {
|
| + this._handle = 1;
|
| + t1 = init.globalState.topEventLoop;
|
| + t2 = init.globalState.currentContext;
|
| + t1.events._add$1(new H._IsolateEvent(t2, new H.TimerImpl_internalCallback(this, callback), "timer"));
|
| + this._inEventLoop = true;
|
| + } else if (self.setTimeout != null) {
|
| + ++init.globalState.topEventLoop._activeJsAsyncCount;
|
| + this._handle = self.setTimeout(H.convertDartClosureToJS(new H.TimerImpl_internalCallback0(this, callback), 0), milliseconds);
|
| + } else
|
| + throw H.wrapException(P.UnsupportedError$("Timer greater than 0."));
|
| + },
|
| + static: {TimerImpl$: function(milliseconds, callback) {
|
| + var t1 = new H.TimerImpl(true, false, null);
|
| + t1.TimerImpl$2(milliseconds, callback);
|
| + return t1;
|
| + }, TimerImpl$periodic: function(milliseconds, callback) {
|
| + var t1 = new H.TimerImpl(false, false, null);
|
| + t1.TimerImpl$periodic$2(milliseconds, callback);
|
| + return t1;
|
| + }}
|
| + },
|
| + TimerImpl_internalCallback: {
|
| + "^": "Closure:1;this_0,callback_1",
|
| + call$0: function() {
|
| + this.this_0._handle = null;
|
| + this.callback_1.call$0();
|
| + }
|
| + },
|
| + TimerImpl_internalCallback0: {
|
| + "^": "Closure:1;this_2,callback_3",
|
| + call$0: function() {
|
| + this.this_2._handle = null;
|
| + H.leaveJsAsync();
|
| + this.callback_3.call$0();
|
| + }
|
| + },
|
| + TimerImpl$periodic_closure: {
|
| + "^": "Closure:0;this_0,callback_1",
|
| + call$0: function() {
|
| + this.callback_1.call$1(this.this_0);
|
| + }
|
| + },
|
| + CapabilityImpl: {
|
| + "^": "Object;_id<",
|
| + get$hashCode: function(_) {
|
| + var hash = this._id;
|
| + hash = C.JSInt_methods._shrOtherPositive$1(hash, 0) ^ C.JSInt_methods._tdivFast$1(hash, 4294967296);
|
| + hash = (~hash >>> 0) + (hash << 15 >>> 0) & 4294967295;
|
| + hash = ((hash ^ hash >>> 12) >>> 0) * 5 & 4294967295;
|
| + hash = ((hash ^ hash >>> 4) >>> 0) * 2057 & 4294967295;
|
| + return (hash ^ hash >>> 16) >>> 0;
|
| + },
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + if (other === this)
|
| + return true;
|
| + if (other instanceof H.CapabilityImpl)
|
| + return this._id === other._id;
|
| + return false;
|
| + }
|
| + },
|
| + _Serializer: {
|
| + "^": "Object;_serializeSendPorts,serializedObjectIds",
|
| + serialize$1: [function(x) {
|
| + var t1, serializationId, serializeTearOff, t2, $name;
|
| + if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
|
| + return x;
|
| + t1 = this.serializedObjectIds;
|
| + serializationId = t1.$index(0, x);
|
| + if (serializationId != null)
|
| + return ["ref", serializationId];
|
| + t1.$indexSet(0, x, t1.__js_helper$_length);
|
| + t1 = J.getInterceptor(x);
|
| + if (!!t1.$isNativeByteBuffer)
|
| + return ["buffer", x];
|
| + if (!!t1.$isNativeTypedData)
|
| + return ["typed", x];
|
| + if (!!t1.$isJSIndexable)
|
| + return this.serializeJSIndexable$1(x);
|
| + if (!!t1.$isInternalMap) {
|
| + serializeTearOff = this.get$serialize();
|
| + t2 = x.get$keys();
|
| + t2 = H.MappedIterable_MappedIterable(t2, serializeTearOff, H.getRuntimeTypeArgument(t2, "IterableBase", 0), null);
|
| + t2 = P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "IterableBase", 0));
|
| + t1 = t1.get$values(x);
|
| + t1 = H.MappedIterable_MappedIterable(t1, serializeTearOff, H.getRuntimeTypeArgument(t1, "IterableBase", 0), null);
|
| + return ["map", t2, P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "IterableBase", 0))];
|
| + }
|
| + if (!!t1.$isJSObject)
|
| + return this.serializeJSObject$1(x);
|
| + if (!!t1.$isInterceptor)
|
| + this.unsupported$1(x);
|
| + if (!!t1.$isRawReceivePort)
|
| + this.unsupported$2(x, "RawReceivePorts can't be transmitted:");
|
| + if (!!t1.$is_NativeJsSendPort)
|
| + return this.serializeJsSendPort$1(x);
|
| + if (!!t1.$is_WorkerSendPort)
|
| + return this.serializeWorkerSendPort$1(x);
|
| + if (!!t1.$isClosure) {
|
| + $name = x.$name;
|
| + if ($name == null)
|
| + this.unsupported$2(x, "Closures can't be transmitted:");
|
| + return ["function", $name];
|
| + }
|
| + return ["dart", init.classIdExtractor(x), this.serializeArrayInPlace$1(init.classFieldsExtractor(x))];
|
| + }, "call$1", "get$serialize", 2, 0, 2],
|
| + unsupported$2: function(x, message) {
|
| + throw H.wrapException(P.UnsupportedError$(H.S(message == null ? "Can't transmit:" : message) + " " + H.S(x)));
|
| + },
|
| + unsupported$1: function(x) {
|
| + return this.unsupported$2(x, null);
|
| + },
|
| + serializeJSIndexable$1: function(indexable) {
|
| + var serialized = this.serializeArray$1(indexable);
|
| + if (!!indexable.fixed$length)
|
| + return ["fixed", serialized];
|
| + if (!indexable.fixed$length)
|
| + return ["extendable", serialized];
|
| + if (!indexable.immutable$list)
|
| + return ["mutable", serialized];
|
| + if (indexable.constructor === Array)
|
| + return ["const", serialized];
|
| + this.unsupported$2(indexable, "Can't serialize indexable: ");
|
| + },
|
| + serializeArray$1: function(x) {
|
| + var serialized, i, t1;
|
| + serialized = [];
|
| + C.JSArray_methods.set$length(serialized, x.length);
|
| + for (i = 0; i < x.length; ++i) {
|
| + t1 = this.serialize$1(x[i]);
|
| + if (i >= serialized.length)
|
| + return H.ioore(serialized, i);
|
| + serialized[i] = t1;
|
| + }
|
| + return serialized;
|
| + },
|
| + serializeArrayInPlace$1: function(x) {
|
| + var i;
|
| + for (i = 0; i < x.length; ++i)
|
| + C.JSArray_methods.$indexSet(x, i, this.serialize$1(x[i]));
|
| + return x;
|
| + },
|
| + serializeJSObject$1: function(x) {
|
| + var keys, values, i, t1;
|
| + if (!!x.constructor && x.constructor !== Object)
|
| + this.unsupported$2(x, "Only plain JS Objects are supported:");
|
| + keys = Object.keys(x);
|
| + values = [];
|
| + C.JSArray_methods.set$length(values, keys.length);
|
| + for (i = 0; i < keys.length; ++i) {
|
| + t1 = this.serialize$1(x[keys[i]]);
|
| + if (i >= values.length)
|
| + return H.ioore(values, i);
|
| + values[i] = t1;
|
| + }
|
| + return ["js-object", keys, values];
|
| + },
|
| + serializeWorkerSendPort$1: function(x) {
|
| + if (this._serializeSendPorts)
|
| + return ["sendport", x._workerId, x._isolateId, x._receivePortId];
|
| + return ["raw sendport", x];
|
| + },
|
| + serializeJsSendPort$1: function(x) {
|
| + if (this._serializeSendPorts)
|
| + return ["sendport", init.globalState.currentManagerId, x._isolateId, x._receivePort.get$_id()];
|
| + return ["raw sendport", x];
|
| + }
|
| + },
|
| + _Deserializer: {
|
| + "^": "Object;_adjustSendPorts,deserializedObjects",
|
| + deserialize$1: [function(x) {
|
| + var serializationId, t1, result, classId, fields, emptyInstance;
|
| + if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
|
| + return x;
|
| + if (typeof x !== "object" || x === null || x.constructor !== Array)
|
| + throw H.wrapException(P.ArgumentError$("Bad serialized message: " + H.S(x)));
|
| + switch (C.JSArray_methods.get$first(x)) {
|
| + case "ref":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + serializationId = x[1];
|
| + t1 = this.deserializedObjects;
|
| + if (serializationId >>> 0 !== serializationId || serializationId >= t1.length)
|
| + return H.ioore(t1, serializationId);
|
| + return t1[serializationId];
|
| + case "buffer":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + return result;
|
| + case "typed":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + return result;
|
| + case "fixed":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + t1 = this.deserializeArrayInPlace$1(result);
|
| + t1.$builtinTypeInfo = [null];
|
| + t1.fixed$length = Array;
|
| + return t1;
|
| + case "extendable":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + t1 = this.deserializeArrayInPlace$1(result);
|
| + t1.$builtinTypeInfo = [null];
|
| + return t1;
|
| + case "mutable":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + return this.deserializeArrayInPlace$1(result);
|
| + case "const":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + t1 = this.deserializeArrayInPlace$1(result);
|
| + t1.$builtinTypeInfo = [null];
|
| + t1.fixed$length = Array;
|
| + return t1;
|
| + case "map":
|
| + return this.deserializeMap$1(x);
|
| + case "sendport":
|
| + return this.deserializeSendPort$1(x);
|
| + case "raw sendport":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = x[1];
|
| + this.deserializedObjects.push(result);
|
| + return result;
|
| + case "js-object":
|
| + return this.deserializeJSObject$1(x);
|
| + case "function":
|
| + if (1 >= x.length)
|
| + return H.ioore(x, 1);
|
| + result = init.globalFunctions[x[1]]();
|
| + this.deserializedObjects.push(result);
|
| + return result;
|
| + case "dart":
|
| + t1 = x.length;
|
| + if (1 >= t1)
|
| + return H.ioore(x, 1);
|
| + classId = x[1];
|
| + if (2 >= t1)
|
| + return H.ioore(x, 2);
|
| + fields = x[2];
|
| + emptyInstance = init.instanceFromClassId(classId);
|
| + this.deserializedObjects.push(emptyInstance);
|
| + this.deserializeArrayInPlace$1(fields);
|
| + return init.initializeEmptyInstance(classId, emptyInstance, fields);
|
| + default:
|
| + throw H.wrapException("couldn't deserialize: " + H.S(x));
|
| + }
|
| + }, "call$1", "get$deserialize", 2, 0, 2],
|
| + deserializeArrayInPlace$1: function(x) {
|
| + var t1, i, t2;
|
| + t1 = J.getInterceptor$asx(x);
|
| + i = 0;
|
| + while (true) {
|
| + t2 = t1.get$length(x);
|
| + if (typeof t2 !== "number")
|
| + return H.iae(t2);
|
| + if (!(i < t2))
|
| + break;
|
| + t1.$indexSet(x, i, this.deserialize$1(t1.$index(x, i)));
|
| + ++i;
|
| + }
|
| + return x;
|
| + },
|
| + deserializeMap$1: function(x) {
|
| + var t1, keys, values, result, t2, i;
|
| + t1 = x.length;
|
| + if (1 >= t1)
|
| + return H.ioore(x, 1);
|
| + keys = x[1];
|
| + if (2 >= t1)
|
| + return H.ioore(x, 2);
|
| + values = x[2];
|
| + result = P.LinkedHashMap_LinkedHashMap$_empty(null, null);
|
| + this.deserializedObjects.push(result);
|
| + keys = J.map$1$ax(keys, this.get$deserialize()).toList$0(0);
|
| + for (t1 = J.getInterceptor$asx(keys), t2 = J.getInterceptor$asx(values), i = 0; i < t1.get$length(keys); ++i) {
|
| + if (i >= keys.length)
|
| + return H.ioore(keys, i);
|
| + result.$indexSet(0, keys[i], this.deserialize$1(t2.$index(values, i)));
|
| + }
|
| + return result;
|
| + },
|
| + deserializeSendPort$1: function(x) {
|
| + var t1, managerId, isolateId, receivePortId, isolate, receivePort, result;
|
| + t1 = x.length;
|
| + if (1 >= t1)
|
| + return H.ioore(x, 1);
|
| + managerId = x[1];
|
| + if (2 >= t1)
|
| + return H.ioore(x, 2);
|
| + isolateId = x[2];
|
| + if (3 >= t1)
|
| + return H.ioore(x, 3);
|
| + receivePortId = x[3];
|
| + if (J.$eq(managerId, init.globalState.currentManagerId)) {
|
| + isolate = init.globalState.isolates.$index(0, isolateId);
|
| + if (isolate == null)
|
| + return;
|
| + receivePort = isolate.lookup$1(receivePortId);
|
| + if (receivePort == null)
|
| + return;
|
| + result = new H._NativeJsSendPort(receivePort, isolateId);
|
| + } else
|
| + result = new H._WorkerSendPort(managerId, receivePortId, isolateId);
|
| + this.deserializedObjects.push(result);
|
| + return result;
|
| + },
|
| + deserializeJSObject$1: function(x) {
|
| + var t1, keys, values, o, t2, i, t3;
|
| + t1 = x.length;
|
| + if (1 >= t1)
|
| + return H.ioore(x, 1);
|
| + keys = x[1];
|
| + if (2 >= t1)
|
| + return H.ioore(x, 2);
|
| + values = x[2];
|
| + o = {};
|
| + this.deserializedObjects.push(o);
|
| + t1 = J.getInterceptor$asx(keys);
|
| + t2 = J.getInterceptor$asx(values);
|
| + i = 0;
|
| + while (true) {
|
| + t3 = t1.get$length(keys);
|
| + if (typeof t3 !== "number")
|
| + return H.iae(t3);
|
| + if (!(i < t3))
|
| + break;
|
| + o[t1.$index(keys, i)] = this.deserialize$1(t2.$index(values, i));
|
| + ++i;
|
| + }
|
| + return o;
|
| + }
|
| + }
|
| +}],
|
| +["_js_helper", "dart:_js_helper", , H, {
|
| + "^": "",
|
| + 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(P.ArgumentError$(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__throwFormatException: [function(string) {
|
| + throw H.wrapException(P.FormatException$(string, null, null));
|
| + }, "call$1", "Primitives__throwFormatException$closure", 2, 0, 4],
|
| + Primitives_parseInt: function(source, radix, handleError) {
|
| + var match, t1, maxCharCode, digitsPart, i, t2;
|
| + handleError = H.Primitives__throwFormatException$closure();
|
| + H.checkString(source);
|
| + match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
|
| + if (radix == null) {
|
| + if (match != null) {
|
| + t1 = match.length;
|
| + if (2 >= t1)
|
| + return H.ioore(match, 2);
|
| + if (match[2] != null)
|
| + return parseInt(source, 16);
|
| + if (3 >= t1)
|
| + return H.ioore(match, 3);
|
| + if (match[3] != null)
|
| + return parseInt(source, 10);
|
| + return handleError.call$1(source);
|
| + }
|
| + radix = 10;
|
| + } else {
|
| + if (radix < 2 || radix > 36)
|
| + throw H.wrapException(P.RangeError$("Radix " + H.S(radix) + " not in range 2..36"));
|
| + if (match != null) {
|
| + if (radix === 10) {
|
| + if (3 >= match.length)
|
| + return H.ioore(match, 3);
|
| + t1 = match[3] != null;
|
| + } else
|
| + t1 = false;
|
| + if (t1)
|
| + return parseInt(source, 10);
|
| + if (!(radix < 10)) {
|
| + if (3 >= match.length)
|
| + return H.ioore(match, 3);
|
| + t1 = match[3] == null;
|
| + } else
|
| + t1 = true;
|
| + if (t1) {
|
| + maxCharCode = radix <= 10 ? 48 + radix - 1 : 97 + radix - 10 - 1;
|
| + if (1 >= match.length)
|
| + return H.ioore(match, 1);
|
| + digitsPart = match[1];
|
| + t1 = J.getInterceptor$asx(digitsPart);
|
| + i = 0;
|
| + while (true) {
|
| + t2 = t1.get$length(digitsPart);
|
| + if (typeof t2 !== "number")
|
| + return H.iae(t2);
|
| + if (!(i < t2))
|
| + break;
|
| + t1.codeUnitAt$1(digitsPart, 0);
|
| + if (C.JSString_methods.codeUnitAt$1(digitsPart, i) > maxCharCode)
|
| + return handleError.call$1(source);
|
| + ++i;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + if (match == null)
|
| + return handleError.call$1(source);
|
| + return parseInt(source, radix);
|
| + },
|
| + Primitives_objectTypeName: function(object) {
|
| + var $name, decompiled;
|
| + $name = C.JS_CONST_8ZY(J.getInterceptor(object));
|
| + if ($name === "Object") {
|
| + decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\s*\(/)[1];
|
| + if (typeof decompiled === "string")
|
| + $name = /^\w+$/.test(decompiled) ? decompiled : $name;
|
| + }
|
| + if ($name.length > 1 && C.JSString_methods.codeUnitAt$1($name, 0) === 36)
|
| + $name = C.JSString_methods.substring$1($name, 1);
|
| + return ($name + H.joinArguments(H.getRuntimeTypeInfo(object), 0, null)).replace(/[^<,> ]+/g, function(m) {
|
| + return init.mangledGlobalNames[m] || m;
|
| + });
|
| + },
|
| + Primitives_objectToString: function(object) {
|
| + return "Instance of '" + H.Primitives_objectTypeName(object) + "'";
|
| + },
|
| + Primitives_currentUri: function() {
|
| + if (!!self.location)
|
| + return self.location.href;
|
| + return;
|
| + },
|
| + Primitives__fromCharCodeApply: function(array) {
|
| + var end, result, i, i0, chunkEnd;
|
| + end = array.length;
|
| + if (end <= 500)
|
| + return String.fromCharCode.apply(null, array);
|
| + for (result = "", i = 0; i < end; i = i0) {
|
| + i0 = i + 500;
|
| + chunkEnd = i0 < end ? i0 : end;
|
| + result += String.fromCharCode.apply(null, array.slice(i, chunkEnd));
|
| + }
|
| + return result;
|
| + },
|
| + Primitives_stringFromCodePoints: function(codePoints) {
|
| + var a, t1, i;
|
| + a = [];
|
| + a.$builtinTypeInfo = [P.$int];
|
| + for (t1 = new H.ListIterator(codePoints, codePoints.length, 0, null); t1.moveNext$0();) {
|
| + i = t1._current;
|
| + if (typeof i !== "number" || Math.floor(i) !== i)
|
| + throw H.wrapException(P.ArgumentError$(i));
|
| + if (i <= 65535)
|
| + a.push(i);
|
| + else if (i <= 1114111) {
|
| + a.push(55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
|
| + a.push(56320 + (i & 1023));
|
| + } else
|
| + throw H.wrapException(P.ArgumentError$(i));
|
| + }
|
| + return H.Primitives__fromCharCodeApply(a);
|
| + },
|
| + Primitives_stringFromCharCodes: function(charCodes) {
|
| + var t1, i;
|
| + for (t1 = new H.ListIterator(charCodes, charCodes.length, 0, null); t1.moveNext$0();) {
|
| + i = t1._current;
|
| + if (typeof i !== "number" || Math.floor(i) !== i)
|
| + throw H.wrapException(P.ArgumentError$(i));
|
| + if (i < 0)
|
| + throw H.wrapException(P.ArgumentError$(i));
|
| + if (i > 65535)
|
| + return H.Primitives_stringFromCodePoints(charCodes);
|
| + }
|
| + return H.Primitives__fromCharCodeApply(charCodes);
|
| + },
|
| + Primitives_stringFromCharCode: function(charCode) {
|
| + var bits;
|
| + if (0 <= charCode) {
|
| + 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.millisecondsSinceEpoch);
|
| + return receiver.date;
|
| + },
|
| + Primitives_getProperty: function(object, key) {
|
| + if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
|
| + throw H.wrapException(P.ArgumentError$(object));
|
| + return object[key];
|
| + },
|
| + Primitives_setProperty: function(object, key, value) {
|
| + if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
|
| + throw H.wrapException(P.ArgumentError$(object));
|
| + object[key] = value;
|
| + },
|
| + iae: function(argument) {
|
| + throw H.wrapException(P.ArgumentError$(argument));
|
| + },
|
| + ioore: function(receiver, index) {
|
| + if (receiver == null)
|
| + J.get$length$asx(receiver);
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + H.iae(index);
|
| + throw H.wrapException(P.RangeError$value(index, null, null));
|
| + },
|
| + checkInt: function(value) {
|
| + if (typeof value !== "number" || Math.floor(value) !== value)
|
| + throw H.wrapException(P.ArgumentError$(value));
|
| + return value;
|
| + },
|
| + checkString: function(value) {
|
| + if (typeof value !== "string")
|
| + throw H.wrapException(P.ArgumentError$(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);
|
| + },
|
| + unwrapException: function(ex) {
|
| + var t1, message, number, ieErrorCode, t2, t3, t4, nullLiteralCall, t5, t6, t7, t8, t9, match;
|
| + t1 = new H.unwrapException_saveStackTrace(ex);
|
| + if (ex == null)
|
| + return;
|
| + 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:
|
| + t2 = H.S(message) + " (Error " + ieErrorCode + ")";
|
| + return t1.call$1(new H.NullError(t2, null));
|
| + }
|
| + }
|
| + if (ex instanceof TypeError) {
|
| + t2 = $.get$TypeErrorDecoder_noSuchMethodPattern();
|
| + t3 = $.get$TypeErrorDecoder_notClosurePattern();
|
| + t4 = $.get$TypeErrorDecoder_nullCallPattern();
|
| + nullLiteralCall = $.get$TypeErrorDecoder_nullLiteralCallPattern();
|
| + t5 = $.get$TypeErrorDecoder_undefinedCallPattern();
|
| + t6 = $.get$TypeErrorDecoder_undefinedLiteralCallPattern();
|
| + t7 = $.get$TypeErrorDecoder_nullPropertyPattern();
|
| + $.get$TypeErrorDecoder_nullLiteralPropertyPattern();
|
| + t8 = $.get$TypeErrorDecoder_undefinedPropertyPattern();
|
| + t9 = $.get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
|
| + match = t2.matchTypeError$1(message);
|
| + if (match != null)
|
| + return t1.call$1(H.JsNoSuchMethodError$(message, match));
|
| + else {
|
| + match = t3.matchTypeError$1(message);
|
| + if (match != null) {
|
| + match.method = "call";
|
| + return t1.call$1(H.JsNoSuchMethodError$(message, match));
|
| + } else {
|
| + match = t4.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = nullLiteralCall.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t5.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t6.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t7.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = nullLiteralCall.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t8.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t9.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) {
|
| + t2 = match == null ? null : match.method;
|
| + return t1.call$1(new H.NullError(message, t2));
|
| + }
|
| + }
|
| + }
|
| + t2 = typeof message === "string" ? message : "";
|
| + return t1.call$1(new H.UnknownJsTypeError(t2));
|
| + }
|
| + if (ex instanceof RangeError) {
|
| + if (typeof message === "string" && message.indexOf("call stack") !== -1)
|
| + return new P.StackOverflowError();
|
| + return t1.call$1(new P.ArgumentError(false, null, null, null));
|
| + }
|
| + if (typeof InternalError == "function" && ex instanceof InternalError)
|
| + if (typeof message === "string" && message === "too much recursion")
|
| + return new P.StackOverflowError();
|
| + return ex;
|
| + },
|
| + getTraceFromException: function(exception) {
|
| + return new H._StackTrace(exception, null);
|
| + },
|
| + objectHashCode: function(object) {
|
| + if (object == null || typeof object != 'object')
|
| + return J.get$hashCode$(object);
|
| + else
|
| + return H.Primitives_objectHashCode(object);
|
| + },
|
| + fillLiteralMap: function(keyValuePairs, result) {
|
| + var $length, 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, isolate, numberOfArguments, arg1, arg2, arg3, arg4) {
|
| + var t1 = J.getInterceptor(numberOfArguments);
|
| + if (t1.$eq(numberOfArguments, 0))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure(closure));
|
| + else if (t1.$eq(numberOfArguments, 1))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure0(closure, arg1));
|
| + else if (t1.$eq(numberOfArguments, 2))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure1(closure, arg1, arg2));
|
| + else if (t1.$eq(numberOfArguments, 3))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure2(closure, arg1, arg2, arg3));
|
| + else if (t1.$eq(numberOfArguments, 4))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure3(closure, arg1, arg2, arg3, arg4));
|
| + else
|
| + 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, context, invoke) {
|
| + return function(a1, a2, a3, a4) {
|
| + return invoke(closure, context, arity, a1, a2, a3, a4);
|
| + };
|
| + }(closure, arity, init.globalState.currentContext, H.invokeClosure);
|
| + closure.$identity = $function;
|
| + return $function;
|
| + },
|
| + Closure_fromTearOff: function(receiver, functions, reflectionInfo, isStatic, jsArguments, propertyName) {
|
| + var $function, callName, functionType, $prototype, $constructor, t1, isIntercepted, trampoline, signatureFunction, getReceiver, i, stub, stubCallName, t2;
|
| + $function = functions[0];
|
| + $function.$stubName;
|
| + callName = $function.$callName;
|
| + if (!!J.getInterceptor(reflectionInfo).$isList) {
|
| + $function.$reflectionInfo = reflectionInfo;
|
| + functionType = H.ReflectionInfo_ReflectionInfo($function).functionType;
|
| + } else
|
| + functionType = reflectionInfo;
|
| + $prototype = isStatic ? Object.create(new H.TearOffClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, null).constructor.prototype);
|
| + $prototype.$initialize = $prototype.constructor;
|
| + if (isStatic)
|
| + $constructor = function() {
|
| + this.$initialize();
|
| + };
|
| + else if (typeof dart_precompiled == "function") {
|
| + t1 = function(a, b, c, d) {
|
| + this.$initialize(a, b, c, d);
|
| + };
|
| + $constructor = t1;
|
| + } else {
|
| + t1 = $.Closure_functionCounter;
|
| + $.Closure_functionCounter = J.$add$ns(t1, 1);
|
| + t1 = new Function("a", "b", "c", "d", "this.$initialize(a,b,c,d);" + t1);
|
| + $constructor = t1;
|
| + }
|
| + $prototype.constructor = $constructor;
|
| + $constructor.prototype = $prototype;
|
| + t1 = !isStatic;
|
| + if (t1) {
|
| + isIntercepted = jsArguments.length == 1 && true;
|
| + trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
|
| + trampoline.$reflectionInfo = reflectionInfo;
|
| + } else {
|
| + $prototype.$name = propertyName;
|
| + trampoline = $function;
|
| + isIntercepted = false;
|
| + }
|
| + if (typeof functionType == "number")
|
| + signatureFunction = function(s) {
|
| + return function() {
|
| + return init.metadata[s];
|
| + };
|
| + }(functionType);
|
| + else if (t1 && typeof functionType == "function") {
|
| + getReceiver = isIntercepted ? H.BoundClosure_receiverOf : H.BoundClosure_selfOf;
|
| + signatureFunction = function(f, r) {
|
| + return function() {
|
| + return f.apply({$receiver: r(this)}, arguments);
|
| + };
|
| + }(functionType, getReceiver);
|
| + } else
|
| + throw H.wrapException("Error in reflectionInfo.");
|
| + $prototype.$signature = signatureFunction;
|
| + $prototype[callName] = trampoline;
|
| + for (t1 = functions.length, i = 1; i < t1; ++i) {
|
| + stub = functions[i];
|
| + stubCallName = stub.$callName;
|
| + if (stubCallName != null) {
|
| + t2 = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
|
| + $prototype[stubCallName] = t2;
|
| + }
|
| + }
|
| + $prototype["call*"] = trampoline;
|
| + $prototype.$requiredArgCount = $function.$requiredArgCount;
|
| + $prototype.$defaultValues = $function.$defaultValues;
|
| + return $constructor;
|
| + },
|
| + 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, $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;
|
| + if (typeof dart_precompiled == "function" || !t1 || arity >= 27)
|
| + return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
|
| + if (arity === 0) {
|
| + t1 = $.BoundClosure_selfFieldNameCache;
|
| + if (t1 == null) {
|
| + t1 = H.BoundClosure_computeFieldNamed("self");
|
| + $.BoundClosure_selfFieldNameCache = t1;
|
| + }
|
| + t1 = "return function(){return this." + H.S(t1) + "." + H.S(stubName) + "();";
|
| + t2 = $.Closure_functionCounter;
|
| + $.Closure_functionCounter = J.$add$ns(t2, 1);
|
| + return new Function(t1 + H.S(t2) + "}")();
|
| + }
|
| + $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
|
| + t1 = "return function(" + $arguments + "){return this.";
|
| + t2 = $.BoundClosure_selfFieldNameCache;
|
| + if (t2 == null) {
|
| + t2 = H.BoundClosure_computeFieldNamed("self");
|
| + $.BoundClosure_selfFieldNameCache = t2;
|
| + }
|
| + t2 = t1 + H.S(t2) + "." + H.S(stubName) + "(" + $arguments + ");";
|
| + t1 = $.Closure_functionCounter;
|
| + $.Closure_functionCounter = J.$add$ns(t1, 1);
|
| + return new Function(t2 + H.S(t1) + "}")();
|
| + },
|
| + Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
|
| + var getSelf, getReceiver;
|
| + 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 selfField, t1, stubName, arity, isCsp, lookedUpFunction, t2, $arguments;
|
| + selfField = H.BoundClosure_selfFieldName();
|
| + t1 = $.BoundClosure_receiverFieldNameCache;
|
| + if (t1 == null) {
|
| + t1 = H.BoundClosure_computeFieldNamed("receiver");
|
| + $.BoundClosure_receiverFieldNameCache = t1;
|
| + }
|
| + stubName = $function.$stubName;
|
| + arity = $function.length;
|
| + isCsp = typeof dart_precompiled == "function";
|
| + lookedUpFunction = receiver[stubName];
|
| + t2 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
|
| + if (isCsp || !t2 || arity >= 28)
|
| + return H.Closure_cspForwardInterceptedCall(arity, !t2, stubName, $function);
|
| + if (arity === 1) {
|
| + t1 = "return function(){return this." + H.S(selfField) + "." + H.S(stubName) + "(this." + H.S(t1) + ");";
|
| + t2 = $.Closure_functionCounter;
|
| + $.Closure_functionCounter = J.$add$ns(t2, 1);
|
| + return new Function(t1 + H.S(t2) + "}")();
|
| + }
|
| + $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
|
| + t1 = "return function(" + $arguments + "){return this." + H.S(selfField) + "." + H.S(stubName) + "(this." + H.S(t1) + ", " + $arguments + ");";
|
| + t2 = $.Closure_functionCounter;
|
| + $.Closure_functionCounter = J.$add$ns(t2, 1);
|
| + return new Function(t1 + H.S(t2) + "}")();
|
| + },
|
| + closureFromTearOff: function(receiver, functions, reflectionInfo, isStatic, jsArguments, $name) {
|
| + var t1;
|
| + functions.fixed$length = Array;
|
| + if (!!J.getInterceptor(reflectionInfo).$isList) {
|
| + reflectionInfo.fixed$length = Array;
|
| + t1 = reflectionInfo;
|
| + } else
|
| + t1 = reflectionInfo;
|
| + return H.Closure_fromTearOff(receiver, functions, t1, !!isStatic, jsArguments, $name);
|
| + },
|
| + intTypeCast: function(value) {
|
| + if (typeof value === "number" && Math.floor(value) === value || value == null)
|
| + return value;
|
| + throw H.wrapException(H.CastErrorImplementation$(H.Primitives_objectTypeName(value), "int"));
|
| + },
|
| + throwCyclicInit: function(staticName) {
|
| + throw H.wrapException(new P.CyclicInitializationError("Cyclic initialization for static " + H.S(staticName)));
|
| + },
|
| + buildFunctionType: function(returnType, parameterTypes, optionalParameterTypes) {
|
| + return new H.RuntimeFunctionType(returnType, parameterTypes, optionalParameterTypes, null);
|
| + },
|
| + getDynamicRuntimeType: function() {
|
| + return C.C_DynamicRuntimeType;
|
| + },
|
| + random64: function() {
|
| + return (Math.random() * 0x100000000 >>> 0) + (Math.random() * 0x100000000 >>> 0) * 4294967296;
|
| + },
|
| + setRuntimeTypeInfo: function(target, typeInfo) {
|
| + if (target != null)
|
| + target.$builtinTypeInfo = typeInfo;
|
| + return target;
|
| + },
|
| + getRuntimeTypeInfo: function(target) {
|
| + if (target == null)
|
| + return;
|
| + return target.$builtinTypeInfo;
|
| + },
|
| + getRuntimeTypeArguments: function(target, substitutionName) {
|
| + return H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
|
| + },
|
| + getRuntimeTypeArgument: function(target, substitutionName, index) {
|
| + var $arguments = H.getRuntimeTypeArguments(target, substitutionName);
|
| + return $arguments == null ? null : $arguments[index];
|
| + },
|
| + getTypeArgumentByIndex: function(target, index) {
|
| + var rti = H.getRuntimeTypeInfo(target);
|
| + return rti == null ? null : rti[index];
|
| + },
|
| + runtimeTypeToString: function(type, onTypeVariable) {
|
| + if (type == null)
|
| + return "dynamic";
|
| + else if (typeof type === "object" && type !== null && type.constructor === Array)
|
| + return type[0].builtin$cls + H.joinArguments(type, 1, onTypeVariable);
|
| + else if (typeof type == "function")
|
| + return type.builtin$cls;
|
| + else if (typeof type === "number" && Math.floor(type) === type)
|
| + return C.JSInt_methods.toString$0(type);
|
| + else
|
| + return;
|
| + },
|
| + joinArguments: function(types, startIndex, onTypeVariable) {
|
| + var buffer, index, firstArgument, allDynamic, t1, argument;
|
| + if (types == null)
|
| + return "";
|
| + buffer = new P.StringBuffer("");
|
| + for (index = startIndex, firstArgument = true, allDynamic = true, t1 = ""; index < types.length; ++index) {
|
| + if (firstArgument)
|
| + firstArgument = false;
|
| + else
|
| + buffer._contents = t1 + ", ";
|
| + argument = types[index];
|
| + if (argument != null)
|
| + allDynamic = false;
|
| + t1 = buffer._contents += H.S(H.runtimeTypeToString(argument, onTypeVariable));
|
| + }
|
| + return allDynamic ? "" : "<" + H.S(buffer) + ">";
|
| + },
|
| + substitute: function(substitution, $arguments) {
|
| + if (typeof substitution == "function") {
|
| + substitution = H.invokeOn(substitution, null, $arguments);
|
| + if (substitution == null || typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
|
| + $arguments = substitution;
|
| + else if (typeof substitution == "function")
|
| + $arguments = H.invokeOn(substitution, null, $arguments);
|
| + }
|
| + return $arguments;
|
| + },
|
| + areSubtypes: function(s, t) {
|
| + var len, i;
|
| + if (s == null || t == null)
|
| + return true;
|
| + len = s.length;
|
| + for (i = 0; i < len; ++i)
|
| + if (!H.isSubtype(s[i], t[i]))
|
| + return false;
|
| + return true;
|
| + },
|
| + computeSignature: function(signature, context, contextName) {
|
| + return H.invokeOn(signature, context, H.getRuntimeTypeArguments(context, contextName));
|
| + },
|
| + isSubtype: function(s, t) {
|
| + var t1, typeOfS, t2, typeOfT, $name, test, typeOfSPrototype, substitution;
|
| + if (s === t)
|
| + return true;
|
| + if (s == null || t == null)
|
| + return true;
|
| + if ("func" in t)
|
| + return H.isFunctionSubtype(s, t);
|
| + if ("func" in s)
|
| + return t.builtin$cls === "Function";
|
| + t1 = typeof s === "object" && s !== null && s.constructor === Array;
|
| + typeOfS = t1 ? s[0] : s;
|
| + t2 = typeof t === "object" && t !== null && t.constructor === Array;
|
| + typeOfT = t2 ? t[0] : t;
|
| + $name = H.runtimeTypeToString(typeOfT, null);
|
| + if (typeOfT !== typeOfS) {
|
| + test = "$is" + H.S($name);
|
| + typeOfSPrototype = typeOfS.prototype;
|
| + if (!(test in typeOfSPrototype))
|
| + return false;
|
| + substitution = typeOfSPrototype["$as" + H.S(H.runtimeTypeToString(typeOfT, null))];
|
| + } else
|
| + substitution = null;
|
| + if (!t1 && substitution == null || !t2)
|
| + return true;
|
| + t1 = t1 ? s.slice(1) : null;
|
| + t2 = t2 ? t.slice(1) : null;
|
| + return H.areSubtypes(H.substitute(substitution, t1), t2);
|
| + },
|
| + areAssignable: function(s, t, allowShorter) {
|
| + var t1, sLength, tLength, i, t2;
|
| + t1 = t == null;
|
| + if (t1 && s == null)
|
| + return true;
|
| + if (t1)
|
| + return allowShorter;
|
| + if (s == null)
|
| + return false;
|
| + sLength = s.length;
|
| + tLength = t.length;
|
| + if (allowShorter) {
|
| + if (sLength < tLength)
|
| + return false;
|
| + } else if (sLength !== tLength)
|
| + return false;
|
| + for (i = 0; i < tLength; ++i) {
|
| + t1 = s[i];
|
| + t2 = t[i];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + return true;
|
| + },
|
| + areAssignableMaps: function(s, t) {
|
| + var t1, names, i, $name, tType, sType;
|
| + if (t == null)
|
| + return true;
|
| + if (s == null)
|
| + return false;
|
| + t1 = Object.getOwnPropertyNames(t);
|
| + t1.fixed$length = Array;
|
| + names = t1;
|
| + for (t1 = names.length, i = 0; i < t1; ++i) {
|
| + $name = names[i];
|
| + if (!Object.hasOwnProperty.call(s, $name))
|
| + return false;
|
| + tType = t[$name];
|
| + sType = s[$name];
|
| + if (!(H.isSubtype(tType, sType) || H.isSubtype(sType, tType)))
|
| + return false;
|
| + }
|
| + return true;
|
| + },
|
| + isFunctionSubtype: function(s, t) {
|
| + var sReturnType, tReturnType, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, t1, t2, tPos, sPos;
|
| + if (!("func" in s))
|
| + return false;
|
| + if ("void" in s) {
|
| + if (!("void" in t) && "ret" in t)
|
| + return false;
|
| + } else if (!("void" in t)) {
|
| + sReturnType = s.ret;
|
| + tReturnType = t.ret;
|
| + if (!(H.isSubtype(sReturnType, tReturnType) || H.isSubtype(tReturnType, sReturnType)))
|
| + 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;
|
| + if (sParametersLen === tParametersLen) {
|
| + if (!H.areAssignable(sParameterTypes, tParameterTypes, false))
|
| + return false;
|
| + if (!H.areAssignable(sOptionalParameterTypes, tOptionalParameterTypes, true))
|
| + return false;
|
| + } else {
|
| + for (pos = 0; pos < sParametersLen; ++pos) {
|
| + t1 = sParameterTypes[pos];
|
| + t2 = tParameterTypes[pos];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos) {
|
| + t1 = sOptionalParameterTypes[sPos];
|
| + t2 = tParameterTypes[tPos];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos) {
|
| + t1 = sOptionalParameterTypes[sPos];
|
| + t2 = tOptionalParameterTypes[tPos];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + }
|
| + return H.areAssignableMaps(s.named, t.named);
|
| + },
|
| + invokeOn: function($function, receiver, $arguments) {
|
| + return $function.apply(receiver, $arguments);
|
| + },
|
| + toStringForNativeObject: function(obj) {
|
| + var t1 = $.getTagFunction;
|
| + return "Instance of " + (t1 == null ? "<Unknown>" : t1.call$1(obj));
|
| + },
|
| + hashCodeForNativeObject: function(object) {
|
| + return H.Primitives_objectHashCode(object);
|
| + },
|
| + defineProperty: function(obj, property, value) {
|
| + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
|
| + },
|
| + lookupAndCacheInterceptor: function(obj) {
|
| + var tag, record, interceptor, interceptorClass, mark, t1;
|
| + tag = $.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 = $.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 J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
|
| + 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 hooks, transformers, i, transformer, getTag, getUnknownTag, prototypeForTag;
|
| + hooks = C.JS_CONST_gkc();
|
| + hooks = H.applyHooksTransformer(C.JS_CONST_0, H.applyHooksTransformer(C.JS_CONST_rr7, H.applyHooksTransformer(C.JS_CONST_Fs4, H.applyHooksTransformer(C.JS_CONST_Fs4, H.applyHooksTransformer(C.JS_CONST_gkc0, H.applyHooksTransformer(C.JS_CONST_4hp, H.applyHooksTransformer(C.JS_CONST_QJm(C.JS_CONST_8ZY), 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;
|
| + },
|
| + allMatchesInStringUnchecked: function(needle, haystack, startIndex) {
|
| + var result, t1, $length, patternLength, position, endIndex;
|
| + result = H.setRuntimeTypeInfo([], [P.Match]);
|
| + t1 = J.getInterceptor$asx(haystack);
|
| + $length = t1.get$length(haystack);
|
| + patternLength = needle.length;
|
| + for (; true;) {
|
| + position = t1.indexOf$2(haystack, needle, startIndex);
|
| + if (position === -1)
|
| + break;
|
| + result.push(new H.StringMatch(position, haystack, needle));
|
| + endIndex = position + patternLength;
|
| + if (endIndex === $length)
|
| + break;
|
| + else
|
| + startIndex = position === endIndex ? startIndex + 1 : endIndex;
|
| + }
|
| + return result;
|
| + },
|
| + stringContainsUnchecked: function(receiver, other, startIndex) {
|
| + var t1;
|
| + if (typeof other === "string")
|
| + return C.JSString_methods.indexOf$2(receiver, other, startIndex) !== -1;
|
| + else {
|
| + t1 = J.getInterceptor(other);
|
| + if (!!t1.$isJSSyntaxRegExp) {
|
| + t1 = C.JSString_methods.substring$1(receiver, startIndex);
|
| + return other._nativeRegExp.test(H.checkString(t1));
|
| + } else
|
| + return J.get$isNotEmpty$asx(t1.allMatches$1(other, C.JSString_methods.substring$1(receiver, startIndex)));
|
| + }
|
| + },
|
| + stringReplaceFirstRE: function(receiver, regexp, to, startIndex) {
|
| + var match, t1, start, t2;
|
| + match = regexp._execGlobal$2(receiver, startIndex);
|
| + if (match == null)
|
| + return receiver;
|
| + t1 = match._match;
|
| + start = t1.index;
|
| + t2 = t1.index;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1 = J.get$length$asx(t1[0]);
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + return H.stringReplaceRangeUnchecked(receiver, start, t2 + t1, to);
|
| + },
|
| + stringReplaceAllUnchecked: function(receiver, from, to) {
|
| + var $length, t1, i, nativeRegexp;
|
| + H.checkString(to);
|
| + if (typeof from === "string")
|
| + if (from === "")
|
| + if (receiver === "")
|
| + return to;
|
| + else {
|
| + $length = receiver.length;
|
| + for (t1 = to, i = 0; i < $length; ++i)
|
| + t1 = t1 + receiver[i] + to;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }
|
| + else
|
| + return receiver.replace(new RegExp(from.replace(new RegExp("[[\\]{}()*+?.\\\\^$|]", 'g'), "\\$&"), 'g'), to.replace(/\$/g, "$$$$"));
|
| + else if (from instanceof H.JSSyntaxRegExp) {
|
| + nativeRegexp = from.get$_nativeGlobalVersion();
|
| + nativeRegexp.lastIndex = 0;
|
| + return receiver.replace(nativeRegexp, to.replace(/\$/g, "$$$$"));
|
| + } else {
|
| + if (from == null)
|
| + H.throwExpression(P.ArgumentError$(null));
|
| + throw H.wrapException("String.replaceAll(Pattern) UNIMPLEMENTED");
|
| + }
|
| + },
|
| + stringReplaceFirstUnchecked: function(receiver, from, to, startIndex) {
|
| + var index, t1, matches, match;
|
| + if (typeof from === "string") {
|
| + index = C.JSString_methods.indexOf$2(receiver, from, startIndex);
|
| + if (index < 0)
|
| + return receiver;
|
| + return H.stringReplaceRangeUnchecked(receiver, index, index + from.length, to);
|
| + }
|
| + t1 = J.getInterceptor(from);
|
| + if (!!t1.$isJSSyntaxRegExp)
|
| + return startIndex === 0 ? receiver.replace(from._nativeRegExp, to.replace(/\$/g, "$$$$")) : H.stringReplaceFirstRE(receiver, from, to, startIndex);
|
| + if (from == null)
|
| + H.throwExpression(P.ArgumentError$(null));
|
| + matches = J.get$iterator$ax(t1.allMatches$2(from, receiver, startIndex));
|
| + if (!matches.moveNext$0())
|
| + return receiver;
|
| + match = matches.get$current();
|
| + return C.JSString_methods.substring$2(receiver, 0, J.get$start$x(match)) + to + C.JSString_methods.substring$1(receiver, match.get$end());
|
| + },
|
| + stringReplaceRangeUnchecked: function(receiver, start, end, replacement) {
|
| + var prefix, suffix;
|
| + prefix = receiver.substring(0, start);
|
| + suffix = receiver.substring(end);
|
| + return prefix + replacement + suffix;
|
| + },
|
| + ReflectionInfo: {
|
| + "^": "Object;jsFunction,data>,isAccessor,requiredParameterCount,optionalParameterCount,areOptionalParametersNamed,functionType,cachedSortedIndices",
|
| + static: {ReflectionInfo_ReflectionInfo: function(jsFunction) {
|
| + var data, requiredParametersInfo, optionalParametersInfo;
|
| + data = jsFunction.$reflectionInfo;
|
| + if (data == null)
|
| + return;
|
| + data.fixed$length = Array;
|
| + data = data;
|
| + requiredParametersInfo = data[0];
|
| + optionalParametersInfo = data[1];
|
| + return new H.ReflectionInfo(jsFunction, data, (requiredParametersInfo & 1) === 1, requiredParametersInfo >> 1, optionalParametersInfo >> 1, (optionalParametersInfo & 1) === 1, data[2], null);
|
| + }}
|
| + },
|
| + TypeErrorDecoder: {
|
| + "^": "Object;_pattern,_arguments,_argumentsExpr,_expr,_method,_receiver",
|
| + matchTypeError$1: function(message) {
|
| + var match, result, t1;
|
| + 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;
|
| + },
|
| + static: {TypeErrorDecoder_extractPattern: function(message) {
|
| + var match, $arguments, argumentsExpr, expr, method, receiver;
|
| + message = message.replace(String({}), '$receiver$').replace(new RegExp("[[\\]{}()*+?.\\\\^$|]", 'g'), '\\$&');
|
| + match = message.match(/\\\$[a-zA-Z]+\\\$/g);
|
| + if (match == null)
|
| + match = [];
|
| + $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('\\$arguments\\$', '((?:x|[^x])*)').replace('\\$argumentsExpr\\$', '((?:x|[^x])*)').replace('\\$expr\\$', '((?:x|[^x])*)').replace('\\$method\\$', '((?:x|[^x])*)').replace('\\$receiver\\$', '((?: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: {
|
| + "^": "Error;_message,_method",
|
| + toString$0: function(_) {
|
| + var t1 = this._method;
|
| + if (t1 == null)
|
| + return "NullError: " + H.S(this._message);
|
| + return "NullError: Cannot call \"" + H.S(t1) + "\" on null";
|
| + }
|
| + },
|
| + JsNoSuchMethodError: {
|
| + "^": "Error;_message,_method,_receiver",
|
| + toString$0: function(_) {
|
| + var t1, t2;
|
| + t1 = this._method;
|
| + if (t1 == null)
|
| + return "NoSuchMethodError: " + H.S(this._message);
|
| + t2 = this._receiver;
|
| + if (t2 == null)
|
| + return "NoSuchMethodError: Cannot call \"" + H.S(t1) + "\" (" + H.S(this._message) + ")";
|
| + return "NoSuchMethodError: Cannot call \"" + H.S(t1) + "\" on \"" + H.S(t2) + "\" (" + H.S(this._message) + ")";
|
| + },
|
| + static: {JsNoSuchMethodError$: function(_message, match) {
|
| + var t1, t2;
|
| + t1 = match == null;
|
| + t2 = t1 ? null : match.method;
|
| + t1 = t1 ? null : match.receiver;
|
| + return new H.JsNoSuchMethodError(_message, t2, t1);
|
| + }}
|
| + },
|
| + UnknownJsTypeError: {
|
| + "^": "Error;_message",
|
| + toString$0: function(_) {
|
| + var t1 = this._message;
|
| + return C.JSString_methods.get$isEmpty(t1) ? "Error" : "Error: " + t1;
|
| + }
|
| + },
|
| + unwrapException_saveStackTrace: {
|
| + "^": "Closure:2;ex_0",
|
| + call$1: function(error) {
|
| + if (!!J.getInterceptor(error).$isError)
|
| + if (error.$thrownJsError == null)
|
| + error.$thrownJsError = this.ex_0;
|
| + return error;
|
| + }
|
| + },
|
| + _StackTrace: {
|
| + "^": "Object;_exception,__js_helper$_trace",
|
| + toString$0: function(_) {
|
| + var t1, trace;
|
| + t1 = this.__js_helper$_trace;
|
| + if (t1 != null)
|
| + return t1;
|
| + t1 = this._exception;
|
| + trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
|
| + t1 = trace == null ? "" : trace;
|
| + this.__js_helper$_trace = t1;
|
| + return t1;
|
| + }
|
| + },
|
| + invokeClosure_closure: {
|
| + "^": "Closure:0;closure_0",
|
| + call$0: function() {
|
| + return this.closure_0.call$0();
|
| + }
|
| + },
|
| + invokeClosure_closure0: {
|
| + "^": "Closure:0;closure_1,arg1_2",
|
| + call$0: function() {
|
| + return this.closure_1.call$1(this.arg1_2);
|
| + }
|
| + },
|
| + invokeClosure_closure1: {
|
| + "^": "Closure:0;closure_3,arg1_4,arg2_5",
|
| + call$0: function() {
|
| + return this.closure_3.call$2(this.arg1_4, this.arg2_5);
|
| + }
|
| + },
|
| + invokeClosure_closure2: {
|
| + "^": "Closure:0;closure_6,arg1_7,arg2_8,arg3_9",
|
| + call$0: function() {
|
| + return this.closure_6.call$3(this.arg1_7, this.arg2_8, this.arg3_9);
|
| + }
|
| + },
|
| + invokeClosure_closure3: {
|
| + "^": "Closure:0;closure_10,arg1_11,arg2_12,arg3_13,arg4_14",
|
| + call$0: function() {
|
| + return this.closure_10.call$4(this.arg1_11, this.arg2_12, this.arg3_13, this.arg4_14);
|
| + }
|
| + },
|
| + Closure: {
|
| + "^": "Object;",
|
| + toString$0: function(_) {
|
| + return "Closure";
|
| + },
|
| + get$$call: function() {
|
| + return this;
|
| + }
|
| + },
|
| + TearOffClosure: {
|
| + "^": "Closure;"
|
| + },
|
| + BoundClosure: {
|
| + "^": "TearOffClosure;_self,_target,_receiver,__js_helper$_name",
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + if (this === other)
|
| + return true;
|
| + if (!(other instanceof H.BoundClosure))
|
| + return false;
|
| + return this._self === other._self && this._target === other._target && this._receiver === other._receiver;
|
| + },
|
| + get$hashCode: function(_) {
|
| + var t1, 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._target)) >>> 0;
|
| + },
|
| + static: {BoundClosure_selfOf: function(closure) {
|
| + return closure._self;
|
| + }, BoundClosure_receiverOf: function(closure) {
|
| + return closure._receiver;
|
| + }, BoundClosure_selfFieldName: function() {
|
| + var t1 = $.BoundClosure_selfFieldNameCache;
|
| + if (t1 == null) {
|
| + t1 = H.BoundClosure_computeFieldNamed("self");
|
| + $.BoundClosure_selfFieldNameCache = t1;
|
| + }
|
| + return t1;
|
| + }, BoundClosure_computeFieldNamed: function(fieldName) {
|
| + var template, t1, names, i, $name;
|
| + template = new H.BoundClosure("self", "target", "receiver", "name");
|
| + t1 = Object.getOwnPropertyNames(template);
|
| + t1.fixed$length = Array;
|
| + names = t1;
|
| + for (t1 = names.length, i = 0; i < t1; ++i) {
|
| + $name = names[i];
|
| + if (template[$name] === fieldName)
|
| + return $name;
|
| + }
|
| + }}
|
| + },
|
| + CastErrorImplementation: {
|
| + "^": "Error;message>",
|
| + toString$0: function(_) {
|
| + return this.message;
|
| + },
|
| + static: {CastErrorImplementation$: function(actualType, expectedType) {
|
| + return new H.CastErrorImplementation("CastError: Casting value of type " + H.S(actualType) + " to incompatible type " + H.S(expectedType));
|
| + }}
|
| + },
|
| + RuntimeError: {
|
| + "^": "Error;message>",
|
| + toString$0: function(_) {
|
| + return "RuntimeError: " + H.S(this.message);
|
| + },
|
| + static: {RuntimeError$: function(message) {
|
| + return new H.RuntimeError(message);
|
| + }}
|
| + },
|
| + RuntimeType: {
|
| + "^": "Object;"
|
| + },
|
| + RuntimeFunctionType: {
|
| + "^": "RuntimeType;returnType,parameterTypes,optionalParameterTypes,namedParameters",
|
| + _isTest$1: function(expression) {
|
| + var functionTypeObject = this._extractFunctionTypeObjectFrom$1(expression);
|
| + return functionTypeObject == null ? false : H.isFunctionSubtype(functionTypeObject, this.toRti$0());
|
| + },
|
| + _extractFunctionTypeObjectFrom$1: function(o) {
|
| + var interceptor = J.getInterceptor(o);
|
| + return "$signature" in interceptor ? interceptor.$signature() : null;
|
| + },
|
| + toRti$0: function() {
|
| + var result, t1, t2, namedRti, keys, i, $name;
|
| + result = {func: "dynafunc"};
|
| + t1 = this.returnType;
|
| + t2 = J.getInterceptor(t1);
|
| + if (!!t2.$isVoidRuntimeType)
|
| + result.void = true;
|
| + else if (!t2.$isDynamicRuntimeType)
|
| + result.ret = t1.toRti$0();
|
| + t1 = this.parameterTypes;
|
| + if (t1 != null && t1.length !== 0)
|
| + result.args = H.RuntimeFunctionType_listToRti(t1);
|
| + t1 = this.optionalParameterTypes;
|
| + if (t1 != null && t1.length !== 0)
|
| + result.opt = H.RuntimeFunctionType_listToRti(t1);
|
| + t1 = this.namedParameters;
|
| + if (t1 != null) {
|
| + namedRti = Object.create(null);
|
| + keys = H.extractKeys(t1);
|
| + for (t2 = keys.length, i = 0; i < t2; ++i) {
|
| + $name = keys[i];
|
| + namedRti[$name] = t1[$name].toRti$0();
|
| + }
|
| + result.named = namedRti;
|
| + }
|
| + return result;
|
| + },
|
| + toString$0: function(_) {
|
| + var t1, t2, result, needsComma, i, type, keys, $name;
|
| + t1 = this.parameterTypes;
|
| + if (t1 != null)
|
| + for (t2 = t1.length, result = "(", needsComma = false, i = 0; i < t2; ++i, needsComma = true) {
|
| + type = t1[i];
|
| + if (needsComma)
|
| + result += ", ";
|
| + result += H.S(type);
|
| + }
|
| + else {
|
| + result = "(";
|
| + needsComma = false;
|
| + }
|
| + t1 = this.optionalParameterTypes;
|
| + if (t1 != null && t1.length !== 0) {
|
| + result = (needsComma ? result + ", " : result) + "[";
|
| + for (t2 = t1.length, needsComma = false, i = 0; i < t2; ++i, needsComma = true) {
|
| + type = t1[i];
|
| + if (needsComma)
|
| + result += ", ";
|
| + result += H.S(type);
|
| + }
|
| + result += "]";
|
| + } else {
|
| + t1 = this.namedParameters;
|
| + if (t1 != null) {
|
| + result = (needsComma ? result + ", " : result) + "{";
|
| + keys = H.extractKeys(t1);
|
| + for (t2 = keys.length, needsComma = false, i = 0; i < t2; ++i, needsComma = true) {
|
| + $name = keys[i];
|
| + if (needsComma)
|
| + result += ", ";
|
| + result += H.S(t1[$name].toRti$0()) + " " + $name;
|
| + }
|
| + result += "}";
|
| + }
|
| + }
|
| + return result + (") -> " + H.S(this.returnType));
|
| + },
|
| + static: {RuntimeFunctionType_listToRti: function(list) {
|
| + var result, t1, i;
|
| + list = list;
|
| + result = [];
|
| + for (t1 = list.length, i = 0; i < t1; ++i)
|
| + result.push(list[i].toRti$0());
|
| + return result;
|
| + }}
|
| + },
|
| + DynamicRuntimeType: {
|
| + "^": "RuntimeType;",
|
| + toString$0: function(_) {
|
| + return "dynamic";
|
| + },
|
| + toRti$0: function() {
|
| + return;
|
| + }
|
| + },
|
| + JsLinkedHashMap: {
|
| + "^": "Object;__js_helper$_length,_strings,_nums,_rest,_first,_last,_modifications",
|
| + get$length: function(_) {
|
| + return this.__js_helper$_length;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this.__js_helper$_length === 0;
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return this.__js_helper$_length !== 0;
|
| + },
|
| + get$keys: function() {
|
| + return H.setRuntimeTypeInfo(new H.LinkedHashMapKeyIterable(this), [H.getTypeArgumentByIndex(this, 0)]);
|
| + },
|
| + get$values: function(_) {
|
| + return H.MappedIterable_MappedIterable(H.setRuntimeTypeInfo(new H.LinkedHashMapKeyIterable(this), [H.getTypeArgumentByIndex(this, 0)]), new H.JsLinkedHashMap_values_closure(this), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1));
|
| + },
|
| + containsKey$1: function(key) {
|
| + var strings, nums;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null)
|
| + return false;
|
| + return strings[key] != null;
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null)
|
| + return false;
|
| + return nums[key] != null;
|
| + } else
|
| + return this.internalContainsKey$1(key);
|
| + },
|
| + internalContainsKey$1: function(key) {
|
| + var rest = this._rest;
|
| + if (rest == null)
|
| + return false;
|
| + return this.internalFindBucketIndex$2(rest[this.internalComputeHashCode$1(key)], key) >= 0;
|
| + },
|
| + $index: function(_, key) {
|
| + var strings, cell, nums;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null)
|
| + return;
|
| + cell = strings[key];
|
| + return cell == null ? null : cell.get$hashMapCellValue();
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null)
|
| + return;
|
| + cell = nums[key];
|
| + return cell == null ? null : cell.get$hashMapCellValue();
|
| + } else
|
| + return this.internalGet$1(key);
|
| + },
|
| + internalGet$1: function(key) {
|
| + var rest, bucket, index;
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this.internalComputeHashCode$1(key)];
|
| + index = this.internalFindBucketIndex$2(bucket, key);
|
| + if (index < 0)
|
| + return;
|
| + return bucket[index].get$hashMapCellValue();
|
| + },
|
| + $indexSet: function(_, key, value) {
|
| + var strings, nums;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null) {
|
| + strings = H.JsLinkedHashMap__newHashTable();
|
| + this._strings = strings;
|
| + }
|
| + this._addHashTableEntry$3(strings, key, value);
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null) {
|
| + nums = H.JsLinkedHashMap__newHashTable();
|
| + this._nums = nums;
|
| + }
|
| + this._addHashTableEntry$3(nums, key, value);
|
| + } else
|
| + this.internalSet$2(key, value);
|
| + },
|
| + internalSet$2: function(key, value) {
|
| + var rest, hash, bucket, index;
|
| + rest = this._rest;
|
| + if (rest == null) {
|
| + rest = H.JsLinkedHashMap__newHashTable();
|
| + this._rest = rest;
|
| + }
|
| + hash = this.internalComputeHashCode$1(key);
|
| + bucket = rest[hash];
|
| + if (bucket == null)
|
| + rest[hash] = [this._newLinkedCell$2(key, value)];
|
| + else {
|
| + index = this.internalFindBucketIndex$2(bucket, key);
|
| + if (index >= 0)
|
| + bucket[index].set$hashMapCellValue(value);
|
| + else
|
| + bucket.push(this._newLinkedCell$2(key, value));
|
| + }
|
| + },
|
| + remove$1: function(_, key) {
|
| + if (typeof key === "string" && key !== "__proto__")
|
| + return this._removeHashTableEntry$2(this._strings, key);
|
| + else if (typeof key === "number" && (key & 0x3ffffff) === key)
|
| + return this._removeHashTableEntry$2(this._nums, key);
|
| + else
|
| + return this.internalRemove$1(key);
|
| + },
|
| + internalRemove$1: function(key) {
|
| + var rest, bucket, index, cell;
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this.internalComputeHashCode$1(key)];
|
| + index = this.internalFindBucketIndex$2(bucket, key);
|
| + if (index < 0)
|
| + return;
|
| + cell = bucket.splice(index, 1)[0];
|
| + this._unlinkCell$1(cell);
|
| + return cell.get$hashMapCellValue();
|
| + },
|
| + clear$0: function(_) {
|
| + if (this.__js_helper$_length > 0) {
|
| + this._last = null;
|
| + this._first = null;
|
| + this._rest = null;
|
| + this._nums = null;
|
| + this._strings = null;
|
| + this.__js_helper$_length = 0;
|
| + this._modifications = this._modifications + 1 & 67108863;
|
| + }
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var cell, modifications;
|
| + 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 = table[key];
|
| + if (cell == null)
|
| + table[key] = this._newLinkedCell$2(key, value);
|
| + else
|
| + cell.set$hashMapCellValue(value);
|
| + },
|
| + _removeHashTableEntry$2: function(table, key) {
|
| + var cell;
|
| + if (table == null)
|
| + return;
|
| + cell = table[key];
|
| + if (cell == null)
|
| + return;
|
| + this._unlinkCell$1(cell);
|
| + delete table[key];
|
| + return cell.get$hashMapCellValue();
|
| + },
|
| + _newLinkedCell$2: function(key, value) {
|
| + var cell, last;
|
| + cell = new H.LinkedHashMapCell(key, value, null, null);
|
| + if (this._first == null) {
|
| + this._last = cell;
|
| + this._first = cell;
|
| + } else {
|
| + last = this._last;
|
| + cell._previous = last;
|
| + last._next = cell;
|
| + this._last = cell;
|
| + }
|
| + ++this.__js_helper$_length;
|
| + this._modifications = this._modifications + 1 & 67108863;
|
| + return cell;
|
| + },
|
| + _unlinkCell$1: function(cell) {
|
| + var previous, next;
|
| + previous = cell.get$_previous();
|
| + next = cell._next;
|
| + if (previous == null)
|
| + this._first = next;
|
| + else
|
| + previous._next = next;
|
| + if (next == null)
|
| + this._last = previous;
|
| + else
|
| + next._previous = previous;
|
| + --this.__js_helper$_length;
|
| + this._modifications = this._modifications + 1 & 67108863;
|
| + },
|
| + internalComputeHashCode$1: function(key) {
|
| + return J.get$hashCode$(key) & 0x3ffffff;
|
| + },
|
| + 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].get$hashMapCellKey(), key))
|
| + return i;
|
| + return -1;
|
| + },
|
| + toString$0: function(_) {
|
| + return P.Maps_mapToString(this);
|
| + },
|
| + $isInternalMap: 1,
|
| + $isMap: 1,
|
| + static: {JsLinkedHashMap__newHashTable: function() {
|
| + var table = Object.create(null);
|
| + table["<non-identifier-key>"] = table;
|
| + delete table["<non-identifier-key>"];
|
| + return table;
|
| + }}
|
| + },
|
| + JsLinkedHashMap_values_closure: {
|
| + "^": "Closure:2;this_0",
|
| + call$1: function(each) {
|
| + return this.this_0.$index(0, each);
|
| + }
|
| + },
|
| + LinkedHashMapCell: {
|
| + "^": "Object;hashMapCellKey<,hashMapCellValue@,_next,_previous<"
|
| + },
|
| + LinkedHashMapKeyIterable: {
|
| + "^": "IterableBase;__js_helper$_map",
|
| + get$length: function(_) {
|
| + return this.__js_helper$_map.__js_helper$_length;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this.__js_helper$_map.__js_helper$_length === 0;
|
| + },
|
| + get$iterator: function(_) {
|
| + var t1, t2;
|
| + t1 = this.__js_helper$_map;
|
| + t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, null, null);
|
| + t2._cell = t1._first;
|
| + return t2;
|
| + },
|
| + contains$1: function(_, element) {
|
| + return this.__js_helper$_map.containsKey$1(element);
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var t1, cell, modifications;
|
| + t1 = this.__js_helper$_map;
|
| + cell = t1._first;
|
| + modifications = t1._modifications;
|
| + for (; cell != null;) {
|
| + f.call$1(cell.hashMapCellKey);
|
| + if (modifications !== t1._modifications)
|
| + throw H.wrapException(P.ConcurrentModificationError$(t1));
|
| + cell = cell._next;
|
| + }
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + LinkedHashMapKeyIterator: {
|
| + "^": "Object;__js_helper$_map,_modifications,_cell,__js_helper$_current",
|
| + get$current: function() {
|
| + return this.__js_helper$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1 = this.__js_helper$_map;
|
| + if (this._modifications !== t1._modifications)
|
| + throw H.wrapException(P.ConcurrentModificationError$(t1));
|
| + else {
|
| + t1 = this._cell;
|
| + if (t1 == null) {
|
| + this.__js_helper$_current = null;
|
| + return false;
|
| + } else {
|
| + this.__js_helper$_current = t1.hashMapCellKey;
|
| + this._cell = t1._next;
|
| + return true;
|
| + }
|
| + }
|
| + }
|
| + },
|
| + initHooks_closure: {
|
| + "^": "Closure:2;getTag_0",
|
| + call$1: function(o) {
|
| + return this.getTag_0(o);
|
| + }
|
| + },
|
| + initHooks_closure0: {
|
| + "^": "Closure:3;getUnknownTag_1",
|
| + call$2: function(o, tag) {
|
| + return this.getUnknownTag_1(o, tag);
|
| + }
|
| + },
|
| + initHooks_closure1: {
|
| + "^": "Closure:4;prototypeForTag_2",
|
| + call$1: function(tag) {
|
| + return this.prototypeForTag_2(tag);
|
| + }
|
| + },
|
| + JSSyntaxRegExp: {
|
| + "^": "Object;pattern,_nativeRegExp,_nativeGlobalRegExp,_nativeAnchoredRegExp",
|
| + toString$0: function(_) {
|
| + return "RegExp/" + this.pattern + "/";
|
| + },
|
| + get$_nativeGlobalVersion: function() {
|
| + var t1 = this._nativeGlobalRegExp;
|
| + if (t1 != null)
|
| + return t1;
|
| + t1 = this._nativeRegExp;
|
| + t1 = H.JSSyntaxRegExp_makeNative(this.pattern, t1.multiline, !t1.ignoreCase, true);
|
| + this._nativeGlobalRegExp = t1;
|
| + return t1;
|
| + },
|
| + get$_nativeAnchoredVersion: function() {
|
| + var t1 = this._nativeAnchoredRegExp;
|
| + if (t1 != null)
|
| + return t1;
|
| + t1 = this._nativeRegExp;
|
| + t1 = H.JSSyntaxRegExp_makeNative(this.pattern + "|()", t1.multiline, !t1.ignoreCase, true);
|
| + this._nativeAnchoredRegExp = t1;
|
| + return t1;
|
| + },
|
| + firstMatch$1: function(string) {
|
| + var m = this._nativeRegExp.exec(H.checkString(string));
|
| + if (m == null)
|
| + return;
|
| + return H._MatchImplementation$(this, m);
|
| + },
|
| + allMatches$2: function(_, string, start) {
|
| + H.checkString(string);
|
| + H.checkInt(start);
|
| + if (start > string.length)
|
| + throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
|
| + return new H._AllMatchesIterable(this, string, start);
|
| + },
|
| + allMatches$1: function($receiver, string) {
|
| + return this.allMatches$2($receiver, string, 0);
|
| + },
|
| + _execGlobal$2: function(string, start) {
|
| + var regexp, match;
|
| + regexp = this.get$_nativeGlobalVersion();
|
| + regexp.lastIndex = start;
|
| + match = regexp.exec(string);
|
| + if (match == null)
|
| + return;
|
| + return H._MatchImplementation$(this, match);
|
| + },
|
| + _execAnchored$2: function(string, start) {
|
| + var regexp, match, t1, t2;
|
| + regexp = this.get$_nativeAnchoredVersion();
|
| + regexp.lastIndex = start;
|
| + match = regexp.exec(string);
|
| + if (match == null)
|
| + return;
|
| + t1 = match.length;
|
| + t2 = t1 - 1;
|
| + if (t2 < 0)
|
| + return H.ioore(match, t2);
|
| + if (match[t2] != null)
|
| + return;
|
| + C.JSArray_methods.set$length(match, t2);
|
| + return H._MatchImplementation$(this, match);
|
| + },
|
| + matchAsPrefix$2: function(_, string, start) {
|
| + if (start > string.length)
|
| + throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
|
| + return this._execAnchored$2(string, start);
|
| + },
|
| + $isRegExp: 1,
|
| + static: {JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, global) {
|
| + var m, i, g, regexp, errorMessage;
|
| + H.checkString(source);
|
| + m = multiLine ? "m" : "";
|
| + i = caseSensitive ? "" : "i";
|
| + g = global ? "g" : "";
|
| + regexp = function() {
|
| + try {
|
| + return new RegExp(source, m + i + g);
|
| + } catch (e) {
|
| + return e;
|
| + }
|
| + }();
|
| + if (regexp instanceof RegExp)
|
| + return regexp;
|
| + errorMessage = String(regexp);
|
| + throw H.wrapException(P.FormatException$("Illegal RegExp pattern: " + source + ", " + errorMessage, null, null));
|
| + }}
|
| + },
|
| + _MatchImplementation: {
|
| + "^": "Object;pattern,_match",
|
| + get$start: function(_) {
|
| + return this._match.index;
|
| + },
|
| + get$end: function() {
|
| + var t1, t2;
|
| + t1 = this._match;
|
| + t2 = t1.index;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1 = J.get$length$asx(t1[0]);
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + return t2 + t1;
|
| + },
|
| + $index: function(_, index) {
|
| + var t1 = this._match;
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + return H.ioore(t1, index);
|
| + return t1[index];
|
| + },
|
| + _MatchImplementation$2: function(pattern, _match) {
|
| + },
|
| + static: {_MatchImplementation$: function(pattern, _match) {
|
| + var t1 = new H._MatchImplementation(pattern, _match);
|
| + t1._MatchImplementation$2(pattern, _match);
|
| + return t1;
|
| + }}
|
| + },
|
| + _AllMatchesIterable: {
|
| + "^": "IterableBase;_re,_string,_start",
|
| + get$iterator: function(_) {
|
| + return new H._AllMatchesIterator(this._re, this._string, this._start, null);
|
| + },
|
| + $asIterableBase: function() {
|
| + return [P.Match];
|
| + }
|
| + },
|
| + _AllMatchesIterator: {
|
| + "^": "Object;_regExp,_string,_nextIndex,__js_helper$_current",
|
| + get$current: function() {
|
| + return this.__js_helper$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1, t2, match, t3, nextIndex;
|
| + t1 = this._string;
|
| + if (t1 == null)
|
| + return false;
|
| + t2 = this._nextIndex;
|
| + if (t2 <= t1.length) {
|
| + match = this._regExp._execGlobal$2(t1, t2);
|
| + if (match != null) {
|
| + this.__js_helper$_current = match;
|
| + t1 = match._match;
|
| + t2 = t1.index;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t3 = J.get$length$asx(t1[0]);
|
| + if (typeof t3 !== "number")
|
| + return H.iae(t3);
|
| + nextIndex = t2 + t3;
|
| + this._nextIndex = t1.index === nextIndex ? nextIndex + 1 : nextIndex;
|
| + return true;
|
| + }
|
| + }
|
| + this.__js_helper$_current = null;
|
| + this._string = null;
|
| + return false;
|
| + }
|
| + },
|
| + StringMatch: {
|
| + "^": "Object;start>,input,pattern",
|
| + get$end: function() {
|
| + return this.start + this.pattern.length;
|
| + },
|
| + $index: function(_, g) {
|
| + if (g !== 0)
|
| + H.throwExpression(P.RangeError$value(g, null, null));
|
| + return this.pattern;
|
| + }
|
| + }
|
| +}],
|
| +["dart._internal", "dart:_internal", , H, {
|
| + "^": "",
|
| + IterableElementError_noElement: function() {
|
| + return new P.StateError("No element");
|
| + },
|
| + IterableElementError_tooFew: function() {
|
| + return new P.StateError("Too few elements");
|
| + },
|
| + Symbol_getName: function(symbol) {
|
| + return symbol.get$_name();
|
| + },
|
| + CodeUnits: {
|
| + "^": "UnmodifiableListBase;__internal$_string",
|
| + get$length: function(_) {
|
| + return this.__internal$_string.length;
|
| + },
|
| + $index: function(_, i) {
|
| + return C.JSString_methods.codeUnitAt$1(this.__internal$_string, i);
|
| + },
|
| + $asUnmodifiableListBase: function() {
|
| + return [P.$int];
|
| + },
|
| + $asListBase: function() {
|
| + return [P.$int];
|
| + },
|
| + $asList: function() {
|
| + return [P.$int];
|
| + }
|
| + },
|
| + ListIterable: {
|
| + "^": "IterableBase;",
|
| + get$iterator: function(_) {
|
| + return new H.ListIterator(this, this.get$length(this), 0, null);
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var $length, i;
|
| + $length = this.get$length(this);
|
| + for (i = 0; i < $length; ++i) {
|
| + action.call$1(this.elementAt$1(0, i));
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + }
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this.get$length(this) === 0;
|
| + },
|
| + get$last: function(_) {
|
| + if (this.get$length(this) === 0)
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + return this.elementAt$1(0, this.get$length(this) - 1);
|
| + },
|
| + contains$1: function(_, element) {
|
| + var $length, i;
|
| + $length = this.get$length(this);
|
| + for (i = 0; i < $length; ++i) {
|
| + if (J.$eq(this.elementAt$1(0, i), element))
|
| + return true;
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + }
|
| + return false;
|
| + },
|
| + join$1: function(_, separator) {
|
| + var $length, first, buffer, i, t1;
|
| + $length = this.get$length(this);
|
| + if (separator.length !== 0) {
|
| + if ($length === 0)
|
| + return "";
|
| + first = H.S(this.elementAt$1(0, 0));
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + buffer = new P.StringBuffer(first);
|
| + for (i = 1; i < $length; ++i) {
|
| + buffer._contents += separator;
|
| + buffer._contents += H.S(this.elementAt$1(0, i));
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + }
|
| + t1 = buffer._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + } else {
|
| + buffer = new P.StringBuffer("");
|
| + for (i = 0; i < $length; ++i) {
|
| + buffer._contents += H.S(this.elementAt$1(0, i));
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + }
|
| + t1 = buffer._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }
|
| + },
|
| + join$0: function($receiver) {
|
| + return this.join$1($receiver, "");
|
| + },
|
| + map$1: function(_, f) {
|
| + return H.setRuntimeTypeInfo(new H.MappedListIterable(this, f), [null, null]);
|
| + },
|
| + fold$2: function(_, initialValue, combine) {
|
| + var $length, value, i;
|
| + $length = this.get$length(this);
|
| + for (value = initialValue, i = 0; i < $length; ++i) {
|
| + value = combine.call$2(value, this.elementAt$1(0, i));
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + }
|
| + return value;
|
| + },
|
| + toList$1$growable: function(_, growable) {
|
| + var result, i, t1;
|
| + if (growable) {
|
| + result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(this, "ListIterable", 0)]);
|
| + C.JSArray_methods.set$length(result, this.get$length(this));
|
| + } else
|
| + result = H.setRuntimeTypeInfo(Array(this.get$length(this)), [H.getRuntimeTypeArgument(this, "ListIterable", 0)]);
|
| + for (i = 0; i < this.get$length(this); ++i) {
|
| + t1 = this.elementAt$1(0, i);
|
| + if (i >= result.length)
|
| + return H.ioore(result, i);
|
| + result[i] = t1;
|
| + }
|
| + return result;
|
| + },
|
| + toList$0: function($receiver) {
|
| + return this.toList$1$growable($receiver, true);
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + SubListIterable: {
|
| + "^": "ListIterable;_iterable,__internal$_start,_endOrLength",
|
| + get$_endIndex: function() {
|
| + var $length, t1, t2;
|
| + $length = J.get$length$asx(this._iterable);
|
| + t1 = this._endOrLength;
|
| + if (t1 != null) {
|
| + if (typeof t1 !== "number")
|
| + return t1.$gt();
|
| + t2 = t1 > $length;
|
| + } else
|
| + t2 = true;
|
| + if (t2)
|
| + return $length;
|
| + return t1;
|
| + },
|
| + get$_startIndex: function() {
|
| + var $length, t1;
|
| + $length = J.get$length$asx(this._iterable);
|
| + t1 = this.__internal$_start;
|
| + if (t1 > $length)
|
| + return $length;
|
| + return t1;
|
| + },
|
| + get$length: function(_) {
|
| + var $length, t1, t2, t3;
|
| + $length = J.get$length$asx(this._iterable);
|
| + t1 = this.__internal$_start;
|
| + if (t1 >= $length)
|
| + return 0;
|
| + t2 = this._endOrLength;
|
| + if (t2 != null) {
|
| + if (typeof t2 !== "number")
|
| + return t2.$ge();
|
| + t3 = t2 >= $length;
|
| + } else
|
| + t3 = true;
|
| + if (t3)
|
| + return $length - t1;
|
| + if (typeof t2 !== "number")
|
| + return t2.$sub();
|
| + return t2 - t1;
|
| + },
|
| + elementAt$1: function(_, index) {
|
| + var realIndex, t1;
|
| + realIndex = this.get$_startIndex() + index;
|
| + if (index >= 0) {
|
| + t1 = this.get$_endIndex();
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + t1 = realIndex >= t1;
|
| + } else
|
| + t1 = true;
|
| + if (t1)
|
| + throw H.wrapException(P.IndexError$(index, this, "index", null, null));
|
| + return J.elementAt$1$ax(this._iterable, realIndex);
|
| + },
|
| + SubListIterable$3: function(_iterable, _start, _endOrLength, $E) {
|
| + var t1, t2;
|
| + t1 = this.__internal$_start;
|
| + if (t1 < 0)
|
| + H.throwExpression(P.RangeError$range(t1, 0, null, "start", null));
|
| + t2 = this._endOrLength;
|
| + if (t2 != null) {
|
| + if (typeof t2 !== "number")
|
| + return t2.$lt();
|
| + if (t2 < 0)
|
| + H.throwExpression(P.RangeError$range(t2, 0, null, "end", null));
|
| + if (t1 > t2)
|
| + throw H.wrapException(P.RangeError$range(t1, 0, t2, "start", null));
|
| + }
|
| + },
|
| + static: {SubListIterable$: function(_iterable, _start, _endOrLength, $E) {
|
| + var t1 = H.setRuntimeTypeInfo(new H.SubListIterable(_iterable, _start, _endOrLength), [$E]);
|
| + t1.SubListIterable$3(_iterable, _start, _endOrLength, $E);
|
| + return t1;
|
| + }}
|
| + },
|
| + ListIterator: {
|
| + "^": "Object;_iterable,__internal$_length,_index,_current",
|
| + get$current: function() {
|
| + return this._current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1, t2, $length, t3;
|
| + t1 = this._iterable;
|
| + t2 = J.getInterceptor$asx(t1);
|
| + $length = t2.get$length(t1);
|
| + if (this.__internal$_length !== $length)
|
| + throw H.wrapException(P.ConcurrentModificationError$(t1));
|
| + t3 = this._index;
|
| + if (t3 >= $length) {
|
| + this._current = null;
|
| + return false;
|
| + }
|
| + this._current = t2.elementAt$1(t1, t3);
|
| + ++this._index;
|
| + return true;
|
| + }
|
| + },
|
| + MappedIterable: {
|
| + "^": "IterableBase;_iterable,_f",
|
| + get$iterator: function(_) {
|
| + var t1 = new H.MappedIterator(null, J.get$iterator$ax(this._iterable), this._f);
|
| + t1.$builtinTypeInfo = this.$builtinTypeInfo;
|
| + return t1;
|
| + },
|
| + get$length: function(_) {
|
| + return J.get$length$asx(this._iterable);
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return J.get$isEmpty$asx(this._iterable);
|
| + },
|
| + get$last: function(_) {
|
| + return this._f$1(J.get$last$ax(this._iterable));
|
| + },
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + },
|
| + $asIterableBase: function($S, $T) {
|
| + return [$T];
|
| + },
|
| + static: {MappedIterable_MappedIterable: function(iterable, $function, $S, $T) {
|
| + if (!!J.getInterceptor(iterable).$isEfficientLength)
|
| + return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(iterable, $function), [$S, $T]);
|
| + return H.setRuntimeTypeInfo(new H.MappedIterable(iterable, $function), [$S, $T]);
|
| + }}
|
| + },
|
| + EfficientLengthMappedIterable: {
|
| + "^": "MappedIterable;_iterable,_f",
|
| + $isEfficientLength: 1
|
| + },
|
| + MappedIterator: {
|
| + "^": "Iterator;_current,_iterator,_f",
|
| + moveNext$0: function() {
|
| + var t1 = this._iterator;
|
| + if (t1.moveNext$0()) {
|
| + this._current = this._f$1(t1.get$current());
|
| + return true;
|
| + }
|
| + this._current = null;
|
| + return false;
|
| + },
|
| + get$current: function() {
|
| + return this._current;
|
| + },
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + }
|
| + },
|
| + MappedListIterable: {
|
| + "^": "ListIterable;_source,_f",
|
| + get$length: function(_) {
|
| + return J.get$length$asx(this._source);
|
| + },
|
| + elementAt$1: function(_, index) {
|
| + return this._f$1(J.elementAt$1$ax(this._source, index));
|
| + },
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + },
|
| + $asListIterable: function($S, $T) {
|
| + return [$T];
|
| + },
|
| + $asIterableBase: function($S, $T) {
|
| + return [$T];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + WhereIterable: {
|
| + "^": "IterableBase;_iterable,_f",
|
| + get$iterator: function(_) {
|
| + var t1 = new H.WhereIterator(J.get$iterator$ax(this._iterable), this._f);
|
| + t1.$builtinTypeInfo = this.$builtinTypeInfo;
|
| + return t1;
|
| + }
|
| + },
|
| + WhereIterator: {
|
| + "^": "Iterator;_iterator,_f",
|
| + moveNext$0: function() {
|
| + for (var t1 = this._iterator; t1.moveNext$0();)
|
| + if (this._f$1(t1.get$current()) === true)
|
| + return true;
|
| + return false;
|
| + },
|
| + get$current: function() {
|
| + return this._iterator.get$current();
|
| + },
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + }
|
| + },
|
| + SkipWhileIterable: {
|
| + "^": "IterableBase;_iterable,_f",
|
| + get$iterator: function(_) {
|
| + var t1 = new H.SkipWhileIterator(J.get$iterator$ax(this._iterable), this._f, false);
|
| + t1.$builtinTypeInfo = this.$builtinTypeInfo;
|
| + return t1;
|
| + }
|
| + },
|
| + SkipWhileIterator: {
|
| + "^": "Iterator;_iterator,_f,_hasSkipped",
|
| + moveNext$0: function() {
|
| + if (!this._hasSkipped) {
|
| + this._hasSkipped = true;
|
| + for (var t1 = this._iterator; t1.moveNext$0();)
|
| + if (this._f$1(t1.get$current()) !== true)
|
| + return true;
|
| + }
|
| + return this._iterator.moveNext$0();
|
| + },
|
| + get$current: function() {
|
| + return this._iterator.get$current();
|
| + },
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + }
|
| + },
|
| + FixedLengthListMixin: {
|
| + "^": "Object;",
|
| + set$length: function(receiver, newLength) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot change the length of a fixed-length list"));
|
| + },
|
| + add$1: function(receiver, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list"));
|
| + }
|
| + },
|
| + UnmodifiableListMixin: {
|
| + "^": "Object;",
|
| + $indexSet: function(_, index, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
|
| + },
|
| + set$length: function(_, newLength) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot change the length of an unmodifiable list"));
|
| + },
|
| + add$1: function(_, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list"));
|
| + },
|
| + $isList: 1,
|
| + $asList: null,
|
| + $isEfficientLength: 1
|
| + },
|
| + UnmodifiableListBase: {
|
| + "^": "ListBase+UnmodifiableListMixin;",
|
| + $isList: 1,
|
| + $asList: null,
|
| + $isEfficientLength: 1
|
| + },
|
| + ReversedListIterable: {
|
| + "^": "ListIterable;_source",
|
| + get$length: function(_) {
|
| + return J.get$length$asx(this._source);
|
| + },
|
| + elementAt$1: function(_, index) {
|
| + var t1, t2;
|
| + t1 = this._source;
|
| + t2 = J.getInterceptor$asx(t1);
|
| + return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index);
|
| + }
|
| + }
|
| +}],
|
| +["dart._js_names", "dart:_js_names", , H, {
|
| + "^": "",
|
| + extractKeys: function(victim) {
|
| + var t1 = H.setRuntimeTypeInfo(victim ? Object.keys(victim) : [], [null]);
|
| + t1.fixed$length = Array;
|
| + return t1;
|
| + }
|
| +}],
|
| +["dart.async", "dart:async", , P, {
|
| + "^": "",
|
| + _AsyncRun__initializeScheduleImmediate: function() {
|
| + var t1, div, span;
|
| + t1 = {};
|
| + if (self.scheduleImmediate != null)
|
| + return P._AsyncRun__scheduleImmediateJsOverride$closure();
|
| + if (self.MutationObserver != null && self.document != null) {
|
| + div = self.document.createElement("div");
|
| + span = self.document.createElement("span");
|
| + t1.storedCallback_0 = 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._AsyncRun__scheduleImmediateWithSetImmediate$closure();
|
| + return P._AsyncRun__scheduleImmediateWithTimer$closure();
|
| + },
|
| + _AsyncRun__scheduleImmediateJsOverride: [function(callback) {
|
| + ++init.globalState.topEventLoop._activeJsAsyncCount;
|
| + self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(callback), 0));
|
| + }, "call$1", "_AsyncRun__scheduleImmediateJsOverride$closure", 2, 0, 29],
|
| + _AsyncRun__scheduleImmediateWithSetImmediate: [function(callback) {
|
| + ++init.globalState.topEventLoop._activeJsAsyncCount;
|
| + self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0));
|
| + }, "call$1", "_AsyncRun__scheduleImmediateWithSetImmediate$closure", 2, 0, 29],
|
| + _AsyncRun__scheduleImmediateWithTimer: [function(callback) {
|
| + P.Timer__createTimer(C.Duration_0, callback);
|
| + }, "call$1", "_AsyncRun__scheduleImmediateWithTimer$closure", 2, 0, 29],
|
| + _registerErrorHandler: function(errorHandler, zone) {
|
| + var t1 = H.getDynamicRuntimeType();
|
| + t1 = H.buildFunctionType(t1, [t1, t1])._isTest$1(errorHandler);
|
| + if (t1)
|
| + return zone.registerBinaryCallback$1(errorHandler);
|
| + else
|
| + return zone.registerUnaryCallback$1(errorHandler);
|
| + },
|
| + _completeWithErrorCallback: function(result, error, stackTrace) {
|
| + var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
|
| + if (replacement != null) {
|
| + error = J.get$error$x(replacement);
|
| + error = error != null ? error : new P.NullThrownError();
|
| + stackTrace = replacement.get$stackTrace();
|
| + }
|
| + result._completeError$2(error, stackTrace);
|
| + },
|
| + _asyncRunCallbackLoop: function() {
|
| + var t1, t2;
|
| + for (; t1 = $._nextCallback, t1 != null;) {
|
| + $._lastPriorityCallback = null;
|
| + t2 = t1.get$next();
|
| + $._nextCallback = t2;
|
| + if (t2 == null)
|
| + $._lastCallback = null;
|
| + t1.callback$0();
|
| + }
|
| + },
|
| + _asyncRunCallback: [function() {
|
| + $._isInCallbackLoop = true;
|
| + try {
|
| + P._asyncRunCallbackLoop();
|
| + } finally {
|
| + $._lastPriorityCallback = null;
|
| + $._isInCallbackLoop = false;
|
| + if ($._nextCallback != null)
|
| + $.get$_AsyncRun_scheduleImmediateClosure().call$1(P._asyncRunCallback$closure());
|
| + }
|
| + }, "call$0", "_asyncRunCallback$closure", 0, 0, 1],
|
| + _scheduleAsyncCallback: function(callback) {
|
| + var t1, newEntry;
|
| + if ($._nextCallback == null) {
|
| + t1 = new P._AsyncCallbackEntry(callback, null);
|
| + $._lastCallback = t1;
|
| + $._nextCallback = t1;
|
| + if (!$._isInCallbackLoop)
|
| + $.get$_AsyncRun_scheduleImmediateClosure().call$1(P._asyncRunCallback$closure());
|
| + } else {
|
| + newEntry = new P._AsyncCallbackEntry(callback, null);
|
| + $._lastCallback.next = newEntry;
|
| + $._lastCallback = newEntry;
|
| + }
|
| + },
|
| + scheduleMicrotask: function(callback) {
|
| + var t1 = $.Zone__current;
|
| + if (C.C__RootZone === t1) {
|
| + P._rootScheduleMicrotask(null, null, C.C__RootZone, callback);
|
| + return;
|
| + }
|
| + t1.scheduleMicrotask$1(t1.bindCallback$2$runGuarded(callback, true));
|
| + },
|
| + StreamController_StreamController: function(onCancel, onListen, onPause, onResume, sync, $T) {
|
| + if (onCancel == null)
|
| + return sync ? new P._NoCallbackSyncStreamController(null, 0, null) : new P._NoCallbackAsyncStreamController(null, 0, null);
|
| + return sync ? H.setRuntimeTypeInfo(new P._SyncStreamController(onListen, onPause, onResume, onCancel, null, 0, null), [$T]) : H.setRuntimeTypeInfo(new P._AsyncStreamController(onListen, onPause, onResume, onCancel, null, 0, null), [$T]);
|
| + },
|
| + _runGuarded: function(notificationHandler) {
|
| + var result, e, s, exception, t1;
|
| + if (notificationHandler == null)
|
| + return;
|
| + try {
|
| + result = notificationHandler.call$0();
|
| + if (!!J.getInterceptor(result).$isFuture)
|
| + return result;
|
| + return;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + $.Zone__current.handleUncaughtError$2(e, s);
|
| + }
|
| + },
|
| + _AddStreamState_makeErrorHandler: function(controller) {
|
| + return new P._AddStreamState_makeErrorHandler_closure(controller);
|
| + },
|
| + _nullDataHandler: [function(value) {
|
| + }, "call$1", "_nullDataHandler$closure", 2, 0, 30],
|
| + _nullErrorHandler: [function(error, stackTrace) {
|
| + $.Zone__current.handleUncaughtError$2(error, stackTrace);
|
| + }, function(error) {
|
| + return P._nullErrorHandler(error, null);
|
| + }, null, "call$2", "call$1", "_nullErrorHandler$closure", 2, 2, 6, 50],
|
| + _nullDoneHandler: [function() {
|
| + }, "call$0", "_nullDoneHandler$closure", 0, 0, 1],
|
| + _runUserCode: function(userCode, onSuccess, onError) {
|
| + var e, s, replacement, error, stackTrace, exception, t1, error0;
|
| + try {
|
| + onSuccess.call$1(userCode.call$0());
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + replacement = $.Zone__current.errorCallback$2(e, s);
|
| + if (replacement == null)
|
| + onError.call$2(e, s);
|
| + else {
|
| + error0 = J.get$error$x(replacement);
|
| + error = error0 != null ? error0 : new P.NullThrownError();
|
| + stackTrace = replacement.get$stackTrace();
|
| + onError.call$2(error, stackTrace);
|
| + }
|
| + }
|
| + },
|
| + _cancelAndError: function(subscription, future, error, stackTrace) {
|
| + var cancelFuture = subscription.cancel$0();
|
| + if (!!J.getInterceptor(cancelFuture).$isFuture)
|
| + cancelFuture.whenComplete$1(new P._cancelAndError_closure(future, error, stackTrace));
|
| + else
|
| + future._completeError$2(error, stackTrace);
|
| + },
|
| + _cancelAndErrorClosure: function(subscription, future) {
|
| + return new P._cancelAndErrorClosure_closure(subscription, future);
|
| + },
|
| + _cancelAndValue: function(subscription, future, value) {
|
| + var cancelFuture = subscription.cancel$0();
|
| + if (!!J.getInterceptor(cancelFuture).$isFuture)
|
| + cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value));
|
| + else
|
| + future._complete$1(value);
|
| + },
|
| + _addErrorWithReplacement: function(sink, error, stackTrace) {
|
| + var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
|
| + if (replacement != null) {
|
| + error = J.get$error$x(replacement);
|
| + error = error != null ? error : new P.NullThrownError();
|
| + stackTrace = replacement.get$stackTrace();
|
| + }
|
| + sink._addError$2(error, stackTrace);
|
| + },
|
| + Timer_Timer: function(duration, callback) {
|
| + var t1;
|
| + if (J.$eq($.Zone__current, C.C__RootZone))
|
| + return $.Zone__current.createTimer$2(duration, callback);
|
| + t1 = $.Zone__current;
|
| + return t1.createTimer$2(duration, t1.bindCallback$2$runGuarded(callback, true));
|
| + },
|
| + Timer__createTimer: function(duration, callback) {
|
| + var milliseconds = duration.get$inMilliseconds();
|
| + return H.TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
|
| + },
|
| + Timer__createPeriodicTimer: function(duration, callback) {
|
| + var milliseconds = duration.get$inMilliseconds();
|
| + return H.TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
|
| + },
|
| + Zone__enter: function(zone) {
|
| + var previous = $.Zone__current;
|
| + $.Zone__current = zone;
|
| + return previous;
|
| + },
|
| + _parentDelegate: function(zone) {
|
| + if (zone.get$parent(zone) == null)
|
| + return;
|
| + return zone.get$parent(zone).get$_delegate();
|
| + },
|
| + _rootHandleUncaughtError: [function($self, $parent, zone, error, stackTrace) {
|
| + var t1, entry, t2;
|
| + t1 = new P._rootHandleUncaughtError_closure(error, stackTrace);
|
| + entry = new P._AsyncCallbackEntry(t1, null);
|
| + t2 = $._nextCallback;
|
| + if (t2 == null) {
|
| + P._scheduleAsyncCallback(t1);
|
| + $._lastPriorityCallback = $._lastCallback;
|
| + } else {
|
| + t1 = $._lastPriorityCallback;
|
| + if (t1 == null) {
|
| + entry.next = t2;
|
| + $._lastPriorityCallback = entry;
|
| + $._nextCallback = entry;
|
| + } else {
|
| + entry.next = t1.next;
|
| + t1.next = entry;
|
| + $._lastPriorityCallback = entry;
|
| + if (entry.next == null)
|
| + $._lastCallback = entry;
|
| + }
|
| + }
|
| + }, "call$5", "_rootHandleUncaughtError$closure", 10, 0, 31],
|
| + _rootRun: [function($self, $parent, zone, f) {
|
| + var old, t1;
|
| + if (J.$eq($.Zone__current, zone))
|
| + return f.call$0();
|
| + old = P.Zone__enter(zone);
|
| + try {
|
| + t1 = f.call$0();
|
| + return t1;
|
| + } finally {
|
| + $.Zone__current = old;
|
| + }
|
| + }, "call$4", "_rootRun$closure", 8, 0, 32],
|
| + _rootRunUnary: [function($self, $parent, zone, f, arg) {
|
| + var old, t1;
|
| + if (J.$eq($.Zone__current, zone))
|
| + return f.call$1(arg);
|
| + old = P.Zone__enter(zone);
|
| + try {
|
| + t1 = f.call$1(arg);
|
| + return t1;
|
| + } finally {
|
| + $.Zone__current = old;
|
| + }
|
| + }, "call$5", "_rootRunUnary$closure", 10, 0, 33],
|
| + _rootRunBinary: [function($self, $parent, zone, f, arg1, arg2) {
|
| + var old, t1;
|
| + if (J.$eq($.Zone__current, zone))
|
| + return f.call$2(arg1, arg2);
|
| + old = P.Zone__enter(zone);
|
| + try {
|
| + t1 = f.call$2(arg1, arg2);
|
| + return t1;
|
| + } finally {
|
| + $.Zone__current = old;
|
| + }
|
| + }, "call$6", "_rootRunBinary$closure", 12, 0, 34],
|
| + _rootRegisterCallback: [function($self, $parent, zone, f) {
|
| + return f;
|
| + }, "call$4", "_rootRegisterCallback$closure", 8, 0, 35],
|
| + _rootRegisterUnaryCallback: [function($self, $parent, zone, f) {
|
| + return f;
|
| + }, "call$4", "_rootRegisterUnaryCallback$closure", 8, 0, 36],
|
| + _rootRegisterBinaryCallback: [function($self, $parent, zone, f) {
|
| + return f;
|
| + }, "call$4", "_rootRegisterBinaryCallback$closure", 8, 0, 37],
|
| + _rootErrorCallback: [function($self, $parent, zone, error, stackTrace) {
|
| + return;
|
| + }, "call$5", "_rootErrorCallback$closure", 10, 0, 38],
|
| + _rootScheduleMicrotask: [function($self, $parent, zone, f) {
|
| + var t1 = C.C__RootZone !== zone;
|
| + if (t1)
|
| + f = zone.bindCallback$2$runGuarded(f, !(!t1 || C.C__RootZone.get$errorZone() === zone.get$errorZone()));
|
| + P._scheduleAsyncCallback(f);
|
| + }, "call$4", "_rootScheduleMicrotask$closure", 8, 0, 39],
|
| + _rootCreateTimer: [function($self, $parent, zone, duration, callback) {
|
| + return P.Timer__createTimer(duration, C.C__RootZone !== zone ? zone.bindCallback$1(callback) : callback);
|
| + }, "call$5", "_rootCreateTimer$closure", 10, 0, 40],
|
| + _rootCreatePeriodicTimer: [function($self, $parent, zone, duration, callback) {
|
| + return P.Timer__createPeriodicTimer(duration, C.C__RootZone !== zone ? zone.bindUnaryCallback$1(callback) : callback);
|
| + }, "call$5", "_rootCreatePeriodicTimer$closure", 10, 0, 41],
|
| + _rootPrint: [function($self, $parent, zone, line) {
|
| + H.printString(H.S(line));
|
| + }, "call$4", "_rootPrint$closure", 8, 0, 42],
|
| + _printToZone: [function(line) {
|
| + J.print$1$x($.Zone__current, line);
|
| + }, "call$1", "_printToZone$closure", 2, 0, 23],
|
| + _rootFork: [function($self, $parent, zone, specification, zoneValues) {
|
| + var valueMap, t1;
|
| + $.printToZone = P._printToZone$closure();
|
| + if (specification == null)
|
| + specification = C._ZoneSpecification_ALf;
|
| + else if (!(specification instanceof P._ZoneSpecification))
|
| + throw H.wrapException(P.ArgumentError$("ZoneSpecifications must be instantiated with the provided constructor."));
|
| + if (zoneValues == null)
|
| + valueMap = zone instanceof P._Zone ? zone.get$_map() : P.HashMap_HashMap(null, null, null, null, null);
|
| + else
|
| + valueMap = P.HashMap_HashMap$from(zoneValues, null, null);
|
| + t1 = new P._CustomZone(null, null, null, null, null, null, null, null, null, null, null, null, null, null, zone, valueMap);
|
| + t1._CustomZone$3(zone, specification, valueMap);
|
| + return t1;
|
| + }, "call$5", "_rootFork$closure", 10, 0, 43],
|
| + runZoned: function(body, onError, zoneSpecification, zoneValues) {
|
| + var errorHandler, zone;
|
| + errorHandler = new P.runZoned_closure(onError);
|
| + zoneSpecification = new P._ZoneSpecification(errorHandler, null, null, null, null, null, null, null, null, null, null, null, null);
|
| + zone = $.Zone__current.fork$2$specification$zoneValues(zoneSpecification, zoneValues);
|
| + return zone.runGuarded$1(body);
|
| + },
|
| + _AsyncRun__initializeScheduleImmediate_internalCallback: {
|
| + "^": "Closure:2;box_0",
|
| + call$1: function(_) {
|
| + var t1, f;
|
| + H.leaveJsAsync();
|
| + t1 = this.box_0;
|
| + f = t1.storedCallback_0;
|
| + t1.storedCallback_0 = null;
|
| + f.call$0();
|
| + }
|
| + },
|
| + _AsyncRun__initializeScheduleImmediate_closure: {
|
| + "^": "Closure:5;box_0,div_1,span_2",
|
| + call$1: function(callback) {
|
| + var t1, t2;
|
| + ++init.globalState.topEventLoop._activeJsAsyncCount;
|
| + this.box_0.storedCallback_0 = callback;
|
| + t1 = this.div_1;
|
| + t2 = this.span_2;
|
| + t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
|
| + }
|
| + },
|
| + _AsyncRun__scheduleImmediateJsOverride_internalCallback: {
|
| + "^": "Closure:0;callback_0",
|
| + call$0: function() {
|
| + H.leaveJsAsync();
|
| + this.callback_0.call$0();
|
| + }
|
| + },
|
| + _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: {
|
| + "^": "Closure:0;callback_0",
|
| + call$0: function() {
|
| + H.leaveJsAsync();
|
| + this.callback_0.call$0();
|
| + }
|
| + },
|
| + _UncaughtAsyncError: {
|
| + "^": "AsyncError;error,stackTrace",
|
| + toString$0: function(_) {
|
| + var result, t1;
|
| + result = "Uncaught Error: " + H.S(this.error);
|
| + t1 = this.stackTrace;
|
| + return t1 != null ? result + ("\nStack Trace:\n" + H.S(t1)) : result;
|
| + },
|
| + static: {_UncaughtAsyncError__getBestStackTrace: function(error, stackTrace) {
|
| + if (stackTrace != null)
|
| + return stackTrace;
|
| + if (!!J.getInterceptor(error).$isError)
|
| + return error.get$stackTrace();
|
| + return;
|
| + }}
|
| + },
|
| + Future: {
|
| + "^": "Object;"
|
| + },
|
| + _FutureListener: {
|
| + "^": "Object;_nextListener<,result>,state,callback,errorCallback",
|
| + get$_zone: function() {
|
| + return this.result._zone;
|
| + },
|
| + get$handlesValue: function() {
|
| + return (this.state & 1) !== 0;
|
| + },
|
| + get$hasErrorTest: function() {
|
| + return this.state === 6;
|
| + },
|
| + get$handlesComplete: function() {
|
| + return this.state === 8;
|
| + },
|
| + get$_onValue: function() {
|
| + return this.callback;
|
| + },
|
| + get$_whenCompleteAction: function() {
|
| + return this.callback;
|
| + },
|
| + errorCallback$2: function(arg0, arg1) {
|
| + return this.errorCallback.call$2(arg0, arg1);
|
| + }
|
| + },
|
| + _Future: {
|
| + "^": "Object;_state,_zone<,_resultOrListeners",
|
| + get$_hasError: function() {
|
| + return this._state === 8;
|
| + },
|
| + set$_isChained: function(value) {
|
| + if (value)
|
| + this._state = 2;
|
| + else
|
| + this._state = 0;
|
| + },
|
| + then$2$onError: function(f, onError) {
|
| + var result, t1;
|
| + result = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + t1 = result._zone;
|
| + if (t1 !== C.C__RootZone) {
|
| + f = t1.registerUnaryCallback$1(f);
|
| + if (onError != null)
|
| + onError = P._registerErrorHandler(onError, t1);
|
| + }
|
| + t1 = onError == null ? 1 : 3;
|
| + this._addListener$1(new P._FutureListener(null, result, t1, f, onError));
|
| + return result;
|
| + },
|
| + then$1: function(f) {
|
| + return this.then$2$onError(f, null);
|
| + },
|
| + whenComplete$1: function(action) {
|
| + var t1, result;
|
| + t1 = $.Zone__current;
|
| + result = new P._Future(0, t1, null);
|
| + result.$builtinTypeInfo = this.$builtinTypeInfo;
|
| + if (t1 !== C.C__RootZone)
|
| + action = t1.registerCallback$1(action);
|
| + this._addListener$1(new P._FutureListener(null, result, 8, action, null));
|
| + return result;
|
| + },
|
| + _markPendingCompletion$0: function() {
|
| + if (this._state !== 0)
|
| + throw H.wrapException(P.StateError$("Future already completed"));
|
| + this._state = 1;
|
| + },
|
| + get$_async$_value: function() {
|
| + return this._resultOrListeners;
|
| + },
|
| + get$_error: function() {
|
| + return this._resultOrListeners;
|
| + },
|
| + _setValue$1: function(value) {
|
| + this._state = 4;
|
| + this._resultOrListeners = value;
|
| + },
|
| + _setErrorObject$1: function(error) {
|
| + this._state = 8;
|
| + this._resultOrListeners = error;
|
| + },
|
| + _setError$2: function(error, stackTrace) {
|
| + this._setErrorObject$1(new P.AsyncError(error, stackTrace));
|
| + },
|
| + _addListener$1: function(listener) {
|
| + if (this._state >= 4)
|
| + this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(this, listener));
|
| + else {
|
| + listener._nextListener = this._resultOrListeners;
|
| + this._resultOrListeners = listener;
|
| + }
|
| + },
|
| + _removeListeners$0: function() {
|
| + var current, prev, next;
|
| + current = this._resultOrListeners;
|
| + this._resultOrListeners = null;
|
| + for (prev = null; current != null; prev = current, current = next) {
|
| + next = current.get$_nextListener();
|
| + current._nextListener = prev;
|
| + }
|
| + return prev;
|
| + },
|
| + _complete$1: function(value) {
|
| + var t1, listeners;
|
| + t1 = J.getInterceptor(value);
|
| + if (!!t1.$isFuture)
|
| + if (!!t1.$is_Future)
|
| + P._Future__chainCoreFuture(value, this);
|
| + else
|
| + P._Future__chainForeignFuture(value, this);
|
| + else {
|
| + listeners = this._removeListeners$0();
|
| + this._setValue$1(value);
|
| + P._Future__propagateToListeners(this, listeners);
|
| + }
|
| + },
|
| + _completeWithValue$1: function(value) {
|
| + var listeners = this._removeListeners$0();
|
| + this._setValue$1(value);
|
| + P._Future__propagateToListeners(this, listeners);
|
| + },
|
| + _completeError$2: [function(error, stackTrace) {
|
| + var listeners = this._removeListeners$0();
|
| + this._setErrorObject$1(new P.AsyncError(error, stackTrace));
|
| + P._Future__propagateToListeners(this, listeners);
|
| + }, function(error) {
|
| + return this._completeError$2(error, null);
|
| + }, "_completeError$1", "call$2", "call$1", "get$_completeError", 2, 2, 6, 50],
|
| + _asyncComplete$1: function(value) {
|
| + var t1;
|
| + if (value == null)
|
| + ;
|
| + else {
|
| + t1 = J.getInterceptor(value);
|
| + if (!!t1.$isFuture) {
|
| + if (!!t1.$is_Future) {
|
| + t1 = value._state;
|
| + if (t1 >= 4 && t1 === 8) {
|
| + this._markPendingCompletion$0();
|
| + this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure(this, value));
|
| + } else
|
| + P._Future__chainCoreFuture(value, this);
|
| + } else
|
| + P._Future__chainForeignFuture(value, this);
|
| + return;
|
| + }
|
| + }
|
| + this._markPendingCompletion$0();
|
| + this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure0(this, value));
|
| + },
|
| + _asyncCompleteError$2: function(error, stackTrace) {
|
| + this._markPendingCompletion$0();
|
| + this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
|
| + },
|
| + $isFuture: 1,
|
| + static: {_Future$immediate: function(value, $T) {
|
| + var t1 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [$T]);
|
| + t1._asyncComplete$1(value);
|
| + return t1;
|
| + }, _Future__chainForeignFuture: function(source, target) {
|
| + target._state = 2;
|
| + source.then$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target));
|
| + }, _Future__chainCoreFuture: function(source, target) {
|
| + var listener;
|
| + target._state = 2;
|
| + listener = new P._FutureListener(null, target, 0, null, null);
|
| + if (source._state >= 4)
|
| + P._Future__propagateToListeners(source, listener);
|
| + else
|
| + source._addListener$1(listener);
|
| + }, _Future__propagateToListeners: function(source, listeners) {
|
| + var t1, t2, t3, hasError, asyncError, listeners0, sourceValue, zone, oldZone, chainSource, result;
|
| + t1 = {};
|
| + t1.source_4 = source;
|
| + for (t2 = source; true;) {
|
| + t3 = {};
|
| + hasError = t2.get$_hasError();
|
| + if (listeners == null) {
|
| + if (hasError) {
|
| + asyncError = t1.source_4.get$_error();
|
| + t1.source_4.get$_zone().handleUncaughtError$2(J.get$error$x(asyncError), asyncError.get$stackTrace());
|
| + }
|
| + return;
|
| + }
|
| + for (; listeners.get$_nextListener() != null; listeners = listeners0) {
|
| + listeners0 = listeners._nextListener;
|
| + listeners._nextListener = null;
|
| + P._Future__propagateToListeners(t1.source_4, listeners);
|
| + }
|
| + t3.listenerHasValue_1 = true;
|
| + sourceValue = hasError ? null : t1.source_4.get$_async$_value();
|
| + t3.listenerValueOrError_2 = sourceValue;
|
| + t3.isPropagationAborted_3 = false;
|
| + t2 = !hasError;
|
| + if (!t2 || listeners.get$handlesValue() || listeners.state === 8) {
|
| + zone = listeners.get$_zone();
|
| + if (hasError && !t1.source_4.get$_zone().inSameErrorZone$1(zone)) {
|
| + asyncError = t1.source_4.get$_error();
|
| + t1.source_4.get$_zone().handleUncaughtError$2(J.get$error$x(asyncError), asyncError.get$stackTrace());
|
| + return;
|
| + }
|
| + oldZone = $.Zone__current;
|
| + if (oldZone == null ? zone != null : oldZone !== zone)
|
| + $.Zone__current = zone;
|
| + else
|
| + oldZone = null;
|
| + if (t2) {
|
| + if (listeners.get$handlesValue())
|
| + t3.listenerHasValue_1 = new P._Future__propagateToListeners_handleValueCallback(t3, listeners, sourceValue, zone).call$0();
|
| + } else
|
| + new P._Future__propagateToListeners_handleError(t1, t3, listeners, zone).call$0();
|
| + if (listeners.get$handlesComplete())
|
| + new P._Future__propagateToListeners_handleWhenCompleteCallback(t1, t3, hasError, listeners, zone).call$0();
|
| + if (oldZone != null)
|
| + $.Zone__current = oldZone;
|
| + if (t3.isPropagationAborted_3)
|
| + return;
|
| + if (t3.listenerHasValue_1 === true) {
|
| + t2 = t3.listenerValueOrError_2;
|
| + t2 = (sourceValue == null ? t2 != null : sourceValue !== t2) && !!J.getInterceptor(t2).$isFuture;
|
| + } else
|
| + t2 = false;
|
| + if (t2) {
|
| + chainSource = t3.listenerValueOrError_2;
|
| + result = listeners.result;
|
| + if (chainSource instanceof P._Future)
|
| + if (chainSource._state >= 4) {
|
| + result._state = 2;
|
| + t1.source_4 = chainSource;
|
| + listeners = new P._FutureListener(null, result, 0, null, null);
|
| + t2 = chainSource;
|
| + continue;
|
| + } else
|
| + P._Future__chainCoreFuture(chainSource, result);
|
| + else
|
| + P._Future__chainForeignFuture(chainSource, result);
|
| + return;
|
| + }
|
| + }
|
| + result = listeners.result;
|
| + listeners = result._removeListeners$0();
|
| + t2 = t3.listenerHasValue_1;
|
| + t3 = t3.listenerValueOrError_2;
|
| + if (t2 === true) {
|
| + result._state = 4;
|
| + result._resultOrListeners = t3;
|
| + } else {
|
| + result._state = 8;
|
| + result._resultOrListeners = t3;
|
| + }
|
| + t1.source_4 = result;
|
| + t2 = result;
|
| + }
|
| + }}
|
| + },
|
| + _Future__addListener_closure: {
|
| + "^": "Closure:0;this_0,listener_1",
|
| + call$0: function() {
|
| + P._Future__propagateToListeners(this.this_0, this.listener_1);
|
| + }
|
| + },
|
| + _Future__chainForeignFuture_closure: {
|
| + "^": "Closure:2;target_0",
|
| + call$1: function(value) {
|
| + this.target_0._completeWithValue$1(value);
|
| + }
|
| + },
|
| + _Future__chainForeignFuture_closure0: {
|
| + "^": "Closure:7;target_1",
|
| + call$2: function(error, stackTrace) {
|
| + this.target_1._completeError$2(error, stackTrace);
|
| + },
|
| + call$1: function(error) {
|
| + return this.call$2(error, null);
|
| + }
|
| + },
|
| + _Future__asyncComplete_closure: {
|
| + "^": "Closure:0;this_0,coreFuture_1",
|
| + call$0: function() {
|
| + P._Future__chainCoreFuture(this.coreFuture_1, this.this_0);
|
| + }
|
| + },
|
| + _Future__asyncComplete_closure0: {
|
| + "^": "Closure:0;this_2,value_3",
|
| + call$0: function() {
|
| + this.this_2._completeWithValue$1(this.value_3);
|
| + }
|
| + },
|
| + _Future__asyncCompleteError_closure: {
|
| + "^": "Closure:0;this_0,error_1,stackTrace_2",
|
| + call$0: function() {
|
| + this.this_0._completeError$2(this.error_1, this.stackTrace_2);
|
| + }
|
| + },
|
| + _Future__propagateToListeners_handleValueCallback: {
|
| + "^": "Closure:8;box_1,listener_3,sourceValue_4,zone_5",
|
| + call$0: function() {
|
| + var e, s, exception, t1;
|
| + try {
|
| + this.box_1.listenerValueOrError_2 = this.zone_5.runUnary$2(this.listener_3.get$_onValue(), this.sourceValue_4);
|
| + return true;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + this.box_1.listenerValueOrError_2 = new P.AsyncError(e, s);
|
| + return false;
|
| + }
|
| + }
|
| + },
|
| + _Future__propagateToListeners_handleError: {
|
| + "^": "Closure:1;box_2,box_1,listener_6,zone_7",
|
| + call$0: function() {
|
| + var asyncError, matchesTest, test, e, s, errorCallback, e0, s0, t1, exception, t2, listenerValueOrError, t3, t4;
|
| + asyncError = this.box_2.source_4.get$_error();
|
| + matchesTest = true;
|
| + t1 = this.listener_6;
|
| + if (t1.get$hasErrorTest()) {
|
| + test = t1.callback;
|
| + try {
|
| + matchesTest = this.zone_7.runUnary$2(test, J.get$error$x(asyncError));
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + t1 = J.get$error$x(asyncError);
|
| + t2 = e;
|
| + listenerValueOrError = (t1 == null ? t2 == null : t1 === t2) ? asyncError : new P.AsyncError(e, s);
|
| + t1 = this.box_1;
|
| + t1.listenerValueOrError_2 = listenerValueOrError;
|
| + t1.listenerHasValue_1 = false;
|
| + return;
|
| + }
|
| + }
|
| + errorCallback = t1.errorCallback;
|
| + if (matchesTest === true && errorCallback != null) {
|
| + try {
|
| + t1 = errorCallback;
|
| + t2 = H.getDynamicRuntimeType();
|
| + t2 = H.buildFunctionType(t2, [t2, t2])._isTest$1(t1);
|
| + t3 = this.zone_7;
|
| + t4 = this.box_1;
|
| + if (t2)
|
| + t4.listenerValueOrError_2 = t3.runBinary$3(errorCallback, J.get$error$x(asyncError), asyncError.get$stackTrace());
|
| + else
|
| + t4.listenerValueOrError_2 = t3.runUnary$2(errorCallback, J.get$error$x(asyncError));
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e0 = t1;
|
| + s0 = H.getTraceFromException(exception);
|
| + t1 = J.get$error$x(asyncError);
|
| + t2 = e0;
|
| + listenerValueOrError = (t1 == null ? t2 == null : t1 === t2) ? asyncError : new P.AsyncError(e0, s0);
|
| + t1 = this.box_1;
|
| + t1.listenerValueOrError_2 = listenerValueOrError;
|
| + t1.listenerHasValue_1 = false;
|
| + return;
|
| + }
|
| + this.box_1.listenerHasValue_1 = true;
|
| + } else {
|
| + t1 = this.box_1;
|
| + t1.listenerValueOrError_2 = asyncError;
|
| + t1.listenerHasValue_1 = false;
|
| + }
|
| + }
|
| + },
|
| + _Future__propagateToListeners_handleWhenCompleteCallback: {
|
| + "^": "Closure:1;box_2,box_1,hasError_8,listener_9,zone_10",
|
| + call$0: function() {
|
| + var t1, e, s, completeResult, t2, exception, result;
|
| + t1 = {};
|
| + t1.completeResult_0 = null;
|
| + try {
|
| + completeResult = this.zone_10.run$1(this.listener_9.get$_whenCompleteAction());
|
| + t1.completeResult_0 = completeResult;
|
| + t2 = completeResult;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + if (this.hasError_8) {
|
| + t1 = J.get$error$x(this.box_2.source_4.get$_error());
|
| + t2 = e;
|
| + t2 = t1 == null ? t2 == null : t1 === t2;
|
| + t1 = t2;
|
| + } else
|
| + t1 = false;
|
| + t2 = this.box_1;
|
| + if (t1)
|
| + t2.listenerValueOrError_2 = this.box_2.source_4.get$_error();
|
| + else
|
| + t2.listenerValueOrError_2 = new P.AsyncError(e, s);
|
| + t2.listenerHasValue_1 = false;
|
| + return;
|
| + }
|
| + if (!!J.getInterceptor(t2).$isFuture) {
|
| + t2 = this.listener_9;
|
| + result = t2.get$result(t2);
|
| + result.set$_isChained(true);
|
| + this.box_1.isPropagationAborted_3 = true;
|
| + t1.completeResult_0.then$2$onError(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(this.box_2, result), new P._Future__propagateToListeners_handleWhenCompleteCallback_closure0(t1, result));
|
| + }
|
| + }
|
| + },
|
| + _Future__propagateToListeners_handleWhenCompleteCallback_closure: {
|
| + "^": "Closure:2;box_2,result_11",
|
| + call$1: function(ignored) {
|
| + P._Future__propagateToListeners(this.box_2.source_4, new P._FutureListener(null, this.result_11, 0, null, null));
|
| + }
|
| + },
|
| + _Future__propagateToListeners_handleWhenCompleteCallback_closure0: {
|
| + "^": "Closure:7;box_0,result_12",
|
| + call$2: function(error, stackTrace) {
|
| + var t1, completeResult;
|
| + t1 = this.box_0;
|
| + if (!(t1.completeResult_0 instanceof P._Future)) {
|
| + completeResult = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + t1.completeResult_0 = completeResult;
|
| + completeResult._setError$2(error, stackTrace);
|
| + }
|
| + P._Future__propagateToListeners(t1.completeResult_0, new P._FutureListener(null, this.result_12, 0, null, null));
|
| + },
|
| + call$1: function(error) {
|
| + return this.call$2(error, null);
|
| + }
|
| + },
|
| + _AsyncCallbackEntry: {
|
| + "^": "Object;callback,next@",
|
| + callback$0: function() {
|
| + return this.callback.call$0();
|
| + }
|
| + },
|
| + Stream: {
|
| + "^": "Object;",
|
| + map$1: function(_, convert) {
|
| + return H.setRuntimeTypeInfo(new P._MapStream(convert, this), [H.getRuntimeTypeArgument(this, "Stream", 0), null]);
|
| + },
|
| + pipe$1: function(streamConsumer) {
|
| + return streamConsumer._async$_target.addStream$2$cancelOnError(this, true).then$1(new P.Stream_pipe_closure(streamConsumer));
|
| + },
|
| + contains$1: function(_, needle) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [P.bool]);
|
| + t1.subscription_0 = null;
|
| + t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(new P.Stream_contains_closure(t1, this, needle, future), true, new P.Stream_contains_closure0(future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + t1.subscription_0 = null;
|
| + t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(new P.Stream_forEach_closure(t1, this, action, future), true, new P.Stream_forEach_closure0(future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + get$length: function(_) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [P.$int]);
|
| + t1.count_0 = 0;
|
| + this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [P.bool]);
|
| + t1.subscription_0 = null;
|
| + t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(new P.Stream_isEmpty_closure(t1, future), true, new P.Stream_isEmpty_closure0(future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + toList$0: function(_) {
|
| + var result, future;
|
| + result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(this, "Stream", 0)]);
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [[P.List, H.getRuntimeTypeArgument(this, "Stream", 0)]]);
|
| + this.listen$4$cancelOnError$onDone$onError(new P.Stream_toList_closure(this, result), true, new P.Stream_toList_closure0(result, future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + get$first: function(_) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [H.getRuntimeTypeArgument(this, "Stream", 0)]);
|
| + t1.subscription_0 = null;
|
| + t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(new P.Stream_first_closure(t1, this, future), true, new P.Stream_first_closure0(future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + get$last: function(_) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [H.getRuntimeTypeArgument(this, "Stream", 0)]);
|
| + t1.result_0 = null;
|
| + t1.foundResult_1 = false;
|
| + this.listen$4$cancelOnError$onDone$onError(new P.Stream_last_closure(t1, this), true, new P.Stream_last_closure0(t1, future), future.get$_completeError());
|
| + return future;
|
| + }
|
| + },
|
| + Stream_pipe_closure: {
|
| + "^": "Closure:2;streamConsumer_0",
|
| + call$1: function(_) {
|
| + return this.streamConsumer_0._async$_target.close$0(0);
|
| + }
|
| + },
|
| + Stream_contains_closure: {
|
| + "^": "Closure;box_0,this_1,needle_2,future_3",
|
| + call$1: function(element) {
|
| + var t1, t2;
|
| + t1 = this.box_0;
|
| + t2 = this.future_3;
|
| + P._runUserCode(new P.Stream_contains__closure(this.needle_2, element), new P.Stream_contains__closure0(t1, t2), P._cancelAndErrorClosure(t1.subscription_0, t2));
|
| + },
|
| + $signature: function() {
|
| + return H.computeSignature(function(T) {
|
| + return {func: "dynamic__T", args: [T]};
|
| + }, this.this_1, "Stream");
|
| + }
|
| + },
|
| + Stream_contains__closure: {
|
| + "^": "Closure:0;needle_4,element_5",
|
| + call$0: function() {
|
| + return J.$eq(this.element_5, this.needle_4);
|
| + }
|
| + },
|
| + Stream_contains__closure0: {
|
| + "^": "Closure:9;box_0,future_6",
|
| + call$1: function(isMatch) {
|
| + if (isMatch === true)
|
| + P._cancelAndValue(this.box_0.subscription_0, this.future_6, true);
|
| + }
|
| + },
|
| + Stream_contains_closure0: {
|
| + "^": "Closure:0;future_7",
|
| + call$0: function() {
|
| + this.future_7._complete$1(false);
|
| + }
|
| + },
|
| + Stream_forEach_closure: {
|
| + "^": "Closure;box_0,this_1,action_2,future_3",
|
| + call$1: function(element) {
|
| + P._runUserCode(new P.Stream_forEach__closure(this.action_2, element), new P.Stream_forEach__closure0(), P._cancelAndErrorClosure(this.box_0.subscription_0, this.future_3));
|
| + },
|
| + $signature: function() {
|
| + return H.computeSignature(function(T) {
|
| + return {func: "dynamic__T", args: [T]};
|
| + }, this.this_1, "Stream");
|
| + }
|
| + },
|
| + Stream_forEach__closure: {
|
| + "^": "Closure:0;action_4,element_5",
|
| + call$0: function() {
|
| + return this.action_4.call$1(this.element_5);
|
| + }
|
| + },
|
| + Stream_forEach__closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(_) {
|
| + }
|
| + },
|
| + Stream_forEach_closure0: {
|
| + "^": "Closure:0;future_6",
|
| + call$0: function() {
|
| + this.future_6._complete$1(null);
|
| + }
|
| + },
|
| + Stream_length_closure: {
|
| + "^": "Closure:2;box_0",
|
| + call$1: function(_) {
|
| + ++this.box_0.count_0;
|
| + }
|
| + },
|
| + Stream_length_closure0: {
|
| + "^": "Closure:0;box_0,future_1",
|
| + call$0: function() {
|
| + this.future_1._complete$1(this.box_0.count_0);
|
| + }
|
| + },
|
| + Stream_isEmpty_closure: {
|
| + "^": "Closure:2;box_0,future_1",
|
| + call$1: function(_) {
|
| + P._cancelAndValue(this.box_0.subscription_0, this.future_1, false);
|
| + }
|
| + },
|
| + Stream_isEmpty_closure0: {
|
| + "^": "Closure:0;future_2",
|
| + call$0: function() {
|
| + this.future_2._complete$1(true);
|
| + }
|
| + },
|
| + Stream_toList_closure: {
|
| + "^": "Closure;this_0,result_1",
|
| + call$1: function(data) {
|
| + this.result_1.push(data);
|
| + },
|
| + $signature: function() {
|
| + return H.computeSignature(function(T) {
|
| + return {func: "dynamic__T", args: [T]};
|
| + }, this.this_0, "Stream");
|
| + }
|
| + },
|
| + Stream_toList_closure0: {
|
| + "^": "Closure:0;result_2,future_3",
|
| + call$0: function() {
|
| + this.future_3._complete$1(this.result_2);
|
| + }
|
| + },
|
| + Stream_first_closure: {
|
| + "^": "Closure;box_0,this_1,future_2",
|
| + call$1: function(value) {
|
| + P._cancelAndValue(this.box_0.subscription_0, this.future_2, value);
|
| + },
|
| + $signature: function() {
|
| + return H.computeSignature(function(T) {
|
| + return {func: "dynamic__T", args: [T]};
|
| + }, this.this_1, "Stream");
|
| + }
|
| + },
|
| + Stream_first_closure0: {
|
| + "^": "Closure:0;future_3",
|
| + call$0: function() {
|
| + var e, s, t1, exception;
|
| + try {
|
| + t1 = H.IterableElementError_noElement();
|
| + throw H.wrapException(t1);
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + P._completeWithErrorCallback(this.future_3, e, s);
|
| + }
|
| + }
|
| + },
|
| + Stream_last_closure: {
|
| + "^": "Closure;box_0,this_1",
|
| + call$1: function(value) {
|
| + var t1 = this.box_0;
|
| + t1.foundResult_1 = true;
|
| + t1.result_0 = value;
|
| + },
|
| + $signature: function() {
|
| + return H.computeSignature(function(T) {
|
| + return {func: "dynamic__T", args: [T]};
|
| + }, this.this_1, "Stream");
|
| + }
|
| + },
|
| + Stream_last_closure0: {
|
| + "^": "Closure:0;box_0,future_2",
|
| + call$0: function() {
|
| + var e, s, t1, exception;
|
| + t1 = this.box_0;
|
| + if (t1.foundResult_1) {
|
| + this.future_2._complete$1(t1.result_0);
|
| + return;
|
| + }
|
| + try {
|
| + t1 = H.IterableElementError_noElement();
|
| + throw H.wrapException(t1);
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + P._completeWithErrorCallback(this.future_2, e, s);
|
| + }
|
| + }
|
| + },
|
| + StreamSubscription: {
|
| + "^": "Object;"
|
| + },
|
| + StreamController: {
|
| + "^": "Object;"
|
| + },
|
| + _StreamController: {
|
| + "^": "Object;",
|
| + get$_pendingEvents: function() {
|
| + if ((this._state & 8) === 0)
|
| + return this._varData;
|
| + return this._varData.get$varData();
|
| + },
|
| + _ensurePendingEvents$0: function() {
|
| + var t1, state;
|
| + if ((this._state & 8) === 0) {
|
| + t1 = this._varData;
|
| + if (t1 == null) {
|
| + t1 = new P._StreamImplEvents(null, null, 0);
|
| + this._varData = t1;
|
| + }
|
| + return t1;
|
| + }
|
| + state = this._varData;
|
| + if (state.get$varData() == null)
|
| + state.varData = new P._StreamImplEvents(null, null, 0);
|
| + return state.varData;
|
| + },
|
| + get$_subscription: function() {
|
| + if ((this._state & 8) !== 0)
|
| + return this._varData.get$varData();
|
| + return this._varData;
|
| + },
|
| + _badEventState$0: function() {
|
| + if ((this._state & 4) !== 0)
|
| + return new P.StateError("Cannot add event after closing");
|
| + return new P.StateError("Cannot add event while adding a stream");
|
| + },
|
| + addStream$2$cancelOnError: function(source, cancelOnError) {
|
| + var t1, t2, t3, t4, addState;
|
| + t1 = this._state;
|
| + if (t1 >= 4)
|
| + throw H.wrapException(this._badEventState$0());
|
| + if ((t1 & 2) !== 0) {
|
| + t1 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + t1._asyncComplete$1(null);
|
| + return t1;
|
| + }
|
| + t1 = this._varData;
|
| + t2 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + t3 = this.get$_async$_add();
|
| + t4 = cancelOnError ? P._AddStreamState_makeErrorHandler(this) : this.get$_addError();
|
| + addState = H.setRuntimeTypeInfo(new P._StreamControllerAddStreamState(t1, t2, source.listen$4$cancelOnError$onDone$onError(t3, cancelOnError, this.get$_close(), t4)), [null]);
|
| + t1 = this._state;
|
| + if ((t1 & 1) !== 0 ? this.get$_subscription().get$_isInputPaused() : (t1 & 2) === 0)
|
| + addState.addSubscription.pause$0(0);
|
| + this._varData = addState;
|
| + this._state |= 8;
|
| + return addState.addStreamFuture;
|
| + },
|
| + _ensureDoneFuture$0: function() {
|
| + var t1 = this._doneFuture;
|
| + if (t1 == null) {
|
| + t1 = (this._state & 2) !== 0 ? $.get$Future__nullFuture() : H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + this._doneFuture = t1;
|
| + }
|
| + return t1;
|
| + },
|
| + add$1: function(_, value) {
|
| + if (this._state >= 4)
|
| + throw H.wrapException(this._badEventState$0());
|
| + this._async$_add$1(value);
|
| + },
|
| + addError$2: [function(error, stackTrace) {
|
| + var replacement;
|
| + if (this._state >= 4)
|
| + throw H.wrapException(this._badEventState$0());
|
| + error = error != null ? error : new P.NullThrownError();
|
| + replacement = $.Zone__current.errorCallback$2(error, stackTrace);
|
| + if (replacement != null) {
|
| + error = J.get$error$x(replacement);
|
| + error = error != null ? error : new P.NullThrownError();
|
| + stackTrace = replacement.get$stackTrace();
|
| + }
|
| + this._addError$2(error, stackTrace);
|
| + }, function(error) {
|
| + return this.addError$2(error, null);
|
| + }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 10, 50],
|
| + close$0: function(_) {
|
| + var t1 = this._state;
|
| + if ((t1 & 4) !== 0)
|
| + return this._ensureDoneFuture$0();
|
| + if (t1 >= 4)
|
| + throw H.wrapException(this._badEventState$0());
|
| + t1 |= 4;
|
| + this._state = t1;
|
| + 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();
|
| + },
|
| + _async$_add$1: [function(value) {
|
| + var t1 = this._state;
|
| + if ((t1 & 1) !== 0)
|
| + this._sendData$1(value);
|
| + else if ((t1 & 3) === 0)
|
| + this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, null));
|
| + }, "call$1", "get$_async$_add", 2, 0, function() {
|
| + return H.computeSignature(function(T) {
|
| + return {func: "void__T", void: true, args: [T]};
|
| + }, this.$receiver, "_StreamController");
|
| + }],
|
| + _addError$2: [function(error, stackTrace) {
|
| + var t1 = this._state;
|
| + if ((t1 & 1) !== 0)
|
| + this._sendError$2(error, stackTrace);
|
| + else if ((t1 & 3) === 0)
|
| + this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace, null));
|
| + }, "call$2", "get$_addError", 4, 0, 11],
|
| + _close$0: [function() {
|
| + var addState = this._varData;
|
| + this._varData = addState.get$varData();
|
| + this._state &= 4294967287;
|
| + addState.addStreamFuture._asyncComplete$1(null);
|
| + }, "call$0", "get$_close", 0, 0, 1],
|
| + _subscribe$4: function(onData, onError, onDone, cancelOnError) {
|
| + var t1, t2, subscription, pendingEvents, addState;
|
| + if ((this._state & 3) !== 0)
|
| + throw H.wrapException(P.StateError$("Stream has already been listened to."));
|
| + t1 = $.Zone__current;
|
| + t2 = cancelOnError ? 1 : 0;
|
| + subscription = H.setRuntimeTypeInfo(new P._ControllerSubscription(this, null, null, null, t1, t2, null, null), [null]);
|
| + subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, null);
|
| + pendingEvents = this.get$_pendingEvents();
|
| + t2 = this._state |= 1;
|
| + if ((t2 & 8) !== 0) {
|
| + addState = this._varData;
|
| + addState.set$varData(subscription);
|
| + addState.addSubscription.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, e, s, exception, t1, result0;
|
| + result = null;
|
| + if ((this._state & 8) !== 0)
|
| + result = this._varData.cancel$0();
|
| + this._varData = null;
|
| + this._state = this._state & 4294967286 | 2;
|
| + if (this.get$_onCancel() != null)
|
| + if (result == null)
|
| + try {
|
| + result = this._onCancel$0();
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + result0 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]);
|
| + result0._asyncCompleteError$2(e, s);
|
| + result = result0;
|
| + }
|
| + else
|
| + result = result.whenComplete$1(this.get$_onCancel());
|
| + t1 = new P._StreamController__recordCancel_complete(this);
|
| + if (result != null)
|
| + result = result.whenComplete$1(t1);
|
| + else
|
| + t1.call$0();
|
| + return result;
|
| + }
|
| + },
|
| + _StreamController__subscribe_closure: {
|
| + "^": "Closure:0;this_0",
|
| + call$0: function() {
|
| + P._runGuarded(this.this_0.get$_onListen());
|
| + }
|
| + },
|
| + _StreamController__recordCancel_complete: {
|
| + "^": "Closure:1;this_0",
|
| + call$0: function() {
|
| + var t1 = this.this_0._doneFuture;
|
| + if (t1 != null && t1._state === 0)
|
| + t1._asyncComplete$1(null);
|
| + }
|
| + },
|
| + _SyncStreamControllerDispatch: {
|
| + "^": "Object;",
|
| + _sendData$1: function(data) {
|
| + this.get$_subscription()._async$_add$1(data);
|
| + },
|
| + _sendError$2: function(error, stackTrace) {
|
| + this.get$_subscription()._addError$2(error, stackTrace);
|
| + },
|
| + _sendDone$0: function() {
|
| + this.get$_subscription()._close$0();
|
| + }
|
| + },
|
| + _AsyncStreamControllerDispatch: {
|
| + "^": "Object;",
|
| + _sendData$1: function(data) {
|
| + this.get$_subscription()._addPending$1(new P._DelayedData(data, null));
|
| + },
|
| + _sendError$2: function(error, stackTrace) {
|
| + this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace, null));
|
| + },
|
| + _sendDone$0: function() {
|
| + this.get$_subscription()._addPending$1(C.C__DelayedDone);
|
| + }
|
| + },
|
| + _AsyncStreamController: {
|
| + "^": "_StreamController__AsyncStreamControllerDispatch;_onListen<,_onPause<,_onResume<,_onCancel<,_varData,_state,_doneFuture",
|
| + _onCancel$0: function() {
|
| + return this._onCancel.call$0();
|
| + }
|
| + },
|
| + _StreamController__AsyncStreamControllerDispatch: {
|
| + "^": "_StreamController+_AsyncStreamControllerDispatch;"
|
| + },
|
| + _SyncStreamController: {
|
| + "^": "_StreamController__SyncStreamControllerDispatch;_onListen<,_onPause<,_onResume<,_onCancel<,_varData,_state,_doneFuture",
|
| + _onCancel$0: function() {
|
| + return this._onCancel.call$0();
|
| + }
|
| + },
|
| + _StreamController__SyncStreamControllerDispatch: {
|
| + "^": "_StreamController+_SyncStreamControllerDispatch;"
|
| + },
|
| + _NoCallbacks: {
|
| + "^": "Object;",
|
| + get$_onListen: function() {
|
| + return;
|
| + },
|
| + get$_onPause: function() {
|
| + return;
|
| + },
|
| + get$_onResume: function() {
|
| + return;
|
| + },
|
| + get$_onCancel: function() {
|
| + return;
|
| + },
|
| + _onCancel$0: function() {
|
| + return this.get$_onCancel().call$0();
|
| + }
|
| + },
|
| + _NoCallbackAsyncStreamController: {
|
| + "^": "_StreamController__AsyncStreamControllerDispatch0+_NoCallbacks;_varData,_state,_doneFuture"
|
| + },
|
| + _StreamController__AsyncStreamControllerDispatch0: {
|
| + "^": "_StreamController+_AsyncStreamControllerDispatch;",
|
| + $as_StreamController: $.functionThatReturnsNull
|
| + },
|
| + _NoCallbackSyncStreamController: {
|
| + "^": "_StreamController__SyncStreamControllerDispatch0+_NoCallbacks;_varData,_state,_doneFuture"
|
| + },
|
| + _StreamController__SyncStreamControllerDispatch0: {
|
| + "^": "_StreamController+_SyncStreamControllerDispatch;",
|
| + $as_StreamController: $.functionThatReturnsNull
|
| + },
|
| + _ControllerStream: {
|
| + "^": "_StreamImpl;_controller",
|
| + _createSubscription$4: function(onData, onError, onDone, cancelOnError) {
|
| + return this._controller._subscribe$4(onData, onError, onDone, cancelOnError);
|
| + },
|
| + get$hashCode: function(_) {
|
| + return (H.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0;
|
| + },
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + if (this === other)
|
| + return true;
|
| + if (!(other instanceof P._ControllerStream))
|
| + return false;
|
| + return other._controller === this._controller;
|
| + }
|
| + },
|
| + _ControllerSubscription: {
|
| + "^": "_BufferingStreamSubscription;_controller,_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending",
|
| + _onCancel$0: function() {
|
| + return this._controller._recordCancel$1(this);
|
| + },
|
| + _onPause$0: [function() {
|
| + var t1 = this._controller;
|
| + if ((t1._state & 8) !== 0)
|
| + t1._varData.pause$0(0);
|
| + P._runGuarded(t1.get$_onPause());
|
| + }, "call$0", "get$_onPause", 0, 0, 1],
|
| + _onResume$0: [function() {
|
| + var t1 = this._controller;
|
| + if ((t1._state & 8) !== 0)
|
| + t1._varData.resume$0();
|
| + P._runGuarded(t1.get$_onResume());
|
| + }, "call$0", "get$_onResume", 0, 0, 1]
|
| + },
|
| + _StreamSinkWrapper: {
|
| + "^": "Object;_async$_target",
|
| + add$1: function(_, data) {
|
| + var t1 = this._async$_target;
|
| + if (t1._state >= 4)
|
| + H.throwExpression(t1._badEventState$0());
|
| + t1._async$_add$1(data);
|
| + },
|
| + close$0: function(_) {
|
| + return this._async$_target.close$0(0);
|
| + }
|
| + },
|
| + _AddStreamState: {
|
| + "^": "Object;",
|
| + pause$0: function(_) {
|
| + this.addSubscription.pause$0(0);
|
| + },
|
| + resume$0: function() {
|
| + this.addSubscription.resume$0();
|
| + },
|
| + cancel$0: function() {
|
| + var cancel = this.addSubscription.cancel$0();
|
| + if (cancel == null) {
|
| + this.addStreamFuture._asyncComplete$1(null);
|
| + return;
|
| + }
|
| + return cancel.whenComplete$1(new P._AddStreamState_cancel_closure(this));
|
| + }
|
| + },
|
| + _AddStreamState_makeErrorHandler_closure: {
|
| + "^": "Closure:12;controller_0",
|
| + call$2: function(e, s) {
|
| + var t1 = this.controller_0;
|
| + t1._addError$2(e, s);
|
| + t1._close$0();
|
| + }
|
| + },
|
| + _AddStreamState_cancel_closure: {
|
| + "^": "Closure:0;this_0",
|
| + call$0: function() {
|
| + this.this_0.addStreamFuture._asyncComplete$1(null);
|
| + }
|
| + },
|
| + _StreamControllerAddStreamState: {
|
| + "^": "_AddStreamState;varData@,addStreamFuture,addSubscription"
|
| + },
|
| + _EventSink: {
|
| + "^": "Object;"
|
| + },
|
| + _BufferingStreamSubscription: {
|
| + "^": "Object;_onData,_onError,_onDone,_zone<,_state,_cancelFuture,_pending",
|
| + _setPendingEvents$1: function(pendingEvents) {
|
| + if (pendingEvents == null)
|
| + return;
|
| + this._pending = pendingEvents;
|
| + if (!pendingEvents.get$isEmpty(pendingEvents)) {
|
| + this._state = (this._state | 64) >>> 0;
|
| + this._pending.schedule$1(this);
|
| + }
|
| + },
|
| + pause$1: function(_, resumeSignal) {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + this._state = (t1 + 128 | 4) >>> 0;
|
| + if (t1 < 128 && this._pending != null)
|
| + this._pending.cancelSchedule$0();
|
| + if ((t1 & 4) === 0 && (this._state & 32) === 0)
|
| + this._guardCallback$1(this.get$_onPause());
|
| + },
|
| + pause$0: function($receiver) {
|
| + return this.pause$1($receiver, null);
|
| + },
|
| + resume$0: function() {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + if (t1 >= 128) {
|
| + t1 -= 128;
|
| + this._state = t1;
|
| + if (t1 < 128) {
|
| + if ((t1 & 64) !== 0) {
|
| + t1 = this._pending;
|
| + t1 = !t1.get$isEmpty(t1);
|
| + } else
|
| + t1 = false;
|
| + if (t1)
|
| + this._pending.schedule$1(this);
|
| + else {
|
| + t1 = (this._state & 4294967291) >>> 0;
|
| + this._state = t1;
|
| + if ((t1 & 32) === 0)
|
| + this._guardCallback$1(this.get$_onResume());
|
| + }
|
| + }
|
| + }
|
| + },
|
| + cancel$0: function() {
|
| + var t1 = (this._state & 4294967279) >>> 0;
|
| + this._state = t1;
|
| + if ((t1 & 8) !== 0)
|
| + return this._cancelFuture;
|
| + this._cancel$0();
|
| + return this._cancelFuture;
|
| + },
|
| + get$_isInputPaused: function() {
|
| + return (this._state & 4) !== 0;
|
| + },
|
| + _cancel$0: function() {
|
| + var t1 = (this._state | 8) >>> 0;
|
| + this._state = t1;
|
| + if ((t1 & 64) !== 0)
|
| + this._pending.cancelSchedule$0();
|
| + if ((this._state & 32) === 0)
|
| + this._pending = null;
|
| + this._cancelFuture = this._onCancel$0();
|
| + },
|
| + _async$_add$1: ["super$_BufferingStreamSubscription$_async$_add$1", function(data) {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + if (t1 < 32)
|
| + this._sendData$1(data);
|
| + else
|
| + this._addPending$1(new P._DelayedData(data, null));
|
| + }],
|
| + _addError$2: ["super$_BufferingStreamSubscription$_addError$2", function(error, stackTrace) {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + if (t1 < 32)
|
| + this._sendError$2(error, stackTrace);
|
| + else
|
| + this._addPending$1(new P._DelayedError(error, stackTrace, null));
|
| + }],
|
| + _close$0: function() {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + t1 = (t1 | 2) >>> 0;
|
| + this._state = t1;
|
| + if (t1 < 32)
|
| + this._sendDone$0();
|
| + else
|
| + this._addPending$1(C.C__DelayedDone);
|
| + },
|
| + _onPause$0: [function() {
|
| + }, "call$0", "get$_onPause", 0, 0, 1],
|
| + _onResume$0: [function() {
|
| + }, "call$0", "get$_onResume", 0, 0, 1],
|
| + _onCancel$0: function() {
|
| + return;
|
| + },
|
| + _addPending$1: function($event) {
|
| + var pending, t1;
|
| + pending = this._pending;
|
| + if (pending == null) {
|
| + pending = new P._StreamImplEvents(null, null, 0);
|
| + this._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 t1 = this._state;
|
| + this._state = (t1 | 32) >>> 0;
|
| + this._zone.runUnaryGuarded$2(this._onData, data);
|
| + this._state = (this._state & 4294967263) >>> 0;
|
| + this._checkState$1((t1 & 4) !== 0);
|
| + },
|
| + _sendError$2: function(error, stackTrace) {
|
| + var t1, t2;
|
| + 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 (!!J.getInterceptor(t1).$isFuture)
|
| + t1.whenComplete$1(t2);
|
| + else
|
| + t2.call$0();
|
| + } else {
|
| + t2.call$0();
|
| + this._checkState$1((t1 & 4) !== 0);
|
| + }
|
| + },
|
| + _sendDone$0: function() {
|
| + var t1, t2;
|
| + t1 = new P._BufferingStreamSubscription__sendDone_sendDone(this);
|
| + this._cancel$0();
|
| + this._state = (this._state | 16) >>> 0;
|
| + t2 = this._cancelFuture;
|
| + if (!!J.getInterceptor(t2).$isFuture)
|
| + t2.whenComplete$1(t1);
|
| + else
|
| + t1.call$0();
|
| + },
|
| + _guardCallback$1: function(callback) {
|
| + var 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 t1, isInputPaused;
|
| + if ((this._state & 64) !== 0) {
|
| + t1 = this._pending;
|
| + t1 = t1.get$isEmpty(t1);
|
| + } else
|
| + t1 = false;
|
| + if (t1) {
|
| + t1 = (this._state & 4294967231) >>> 0;
|
| + this._state = t1;
|
| + if ((t1 & 4) !== 0)
|
| + if (t1 < 128) {
|
| + t1 = this._pending;
|
| + t1 = t1 == null || t1.get$isEmpty(t1);
|
| + } else
|
| + t1 = false;
|
| + else
|
| + t1 = false;
|
| + if (t1)
|
| + this._state = (this._state & 4294967291) >>> 0;
|
| + }
|
| + for (; true; wasInputPaused = isInputPaused) {
|
| + t1 = this._state;
|
| + if ((t1 & 8) !== 0) {
|
| + this._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();
|
| + this._state = (this._state & 4294967263) >>> 0;
|
| + }
|
| + t1 = this._state;
|
| + if ((t1 & 64) !== 0 && t1 < 128)
|
| + this._pending.schedule$1(this);
|
| + },
|
| + _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError, $T) {
|
| + var t1 = this._zone;
|
| + this._onData = t1.registerUnaryCallback$1(onData);
|
| + this._onError = P._registerErrorHandler(onError == null ? P._nullErrorHandler$closure() : onError, t1);
|
| + this._onDone = t1.registerCallback$1(onDone == null ? P._nullDoneHandler$closure() : onDone);
|
| + },
|
| + static: {_BufferingStreamSubscription$: function(onData, onError, onDone, cancelOnError, $T) {
|
| + var t1, t2;
|
| + t1 = $.Zone__current;
|
| + t2 = cancelOnError ? 1 : 0;
|
| + t2 = H.setRuntimeTypeInfo(new P._BufferingStreamSubscription(null, null, null, t1, t2, null, null), [$T]);
|
| + t2._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, $T);
|
| + return t2;
|
| + }}
|
| + },
|
| + _BufferingStreamSubscription__sendError_sendError: {
|
| + "^": "Closure:1;this_0,error_1,stackTrace_2",
|
| + call$0: function() {
|
| + var t1, t2, t3, t4, t5, t6;
|
| + t1 = this.this_0;
|
| + t2 = t1._state;
|
| + if ((t2 & 8) !== 0 && (t2 & 16) === 0)
|
| + return;
|
| + t1._state = (t2 | 32) >>> 0;
|
| + t2 = t1._onError;
|
| + t3 = H.getDynamicRuntimeType();
|
| + t3 = H.buildFunctionType(t3, [t3, t3])._isTest$1(t2);
|
| + t4 = t1._zone;
|
| + t5 = this.error_1;
|
| + t6 = t1._onError;
|
| + if (t3)
|
| + t4.runBinaryGuarded$3(t6, t5, this.stackTrace_2);
|
| + else
|
| + t4.runUnaryGuarded$2(t6, t5);
|
| + t1._state = (t1._state & 4294967263) >>> 0;
|
| + }
|
| + },
|
| + _BufferingStreamSubscription__sendDone_sendDone: {
|
| + "^": "Closure:1;this_0",
|
| + call$0: function() {
|
| + var t1, t2;
|
| + t1 = this.this_0;
|
| + 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;
|
| + }
|
| + },
|
| + _StreamImpl: {
|
| + "^": "Stream;",
|
| + listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
|
| + return this._createSubscription$4(onData, 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);
|
| + },
|
| + listen$3$onDone$onError: function(onData, onDone, onError) {
|
| + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
|
| + },
|
| + listen$3$onDone$onError: function(onData, onDone, onError) {
|
| + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
|
| + },
|
| + _createSubscription$4: function(onData, onError, onDone, cancelOnError) {
|
| + return P._BufferingStreamSubscription$(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(this, 0));
|
| + }
|
| + },
|
| + _DelayedEvent: {
|
| + "^": "Object;next@"
|
| + },
|
| + _DelayedData: {
|
| + "^": "_DelayedEvent;value,next",
|
| + perform$1: function(dispatch) {
|
| + dispatch._sendData$1(this.value);
|
| + }
|
| + },
|
| + _DelayedError: {
|
| + "^": "_DelayedEvent;error>,stackTrace<,next",
|
| + perform$1: function(dispatch) {
|
| + dispatch._sendError$2(this.error, this.stackTrace);
|
| + }
|
| + },
|
| + _DelayedDone: {
|
| + "^": "Object;",
|
| + perform$1: function(dispatch) {
|
| + dispatch._sendDone$0();
|
| + },
|
| + get$next: function() {
|
| + return;
|
| + },
|
| + set$next: function(_) {
|
| + throw H.wrapException(P.StateError$("No events after a done."));
|
| + }
|
| + },
|
| + _PendingEvents: {
|
| + "^": "Object;",
|
| + schedule$1: function(dispatch) {
|
| + var 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;
|
| + },
|
| + cancelSchedule$0: function() {
|
| + if (this._state === 1)
|
| + this._state = 3;
|
| + }
|
| + },
|
| + _PendingEvents_schedule_closure: {
|
| + "^": "Closure:0;this_0,dispatch_1",
|
| + call$0: function() {
|
| + var t1, oldState;
|
| + t1 = this.this_0;
|
| + oldState = t1._state;
|
| + t1._state = 0;
|
| + if (oldState === 3)
|
| + return;
|
| + t1.handleNext$1(this.dispatch_1);
|
| + }
|
| + },
|
| + _StreamImplEvents: {
|
| + "^": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state",
|
| + get$isEmpty: function(_) {
|
| + return this.lastPendingEvent == null;
|
| + },
|
| + add$1: function(_, $event) {
|
| + var t1 = this.lastPendingEvent;
|
| + if (t1 == null) {
|
| + this.lastPendingEvent = $event;
|
| + this.firstPendingEvent = $event;
|
| + } else {
|
| + t1.set$next($event);
|
| + this.lastPendingEvent = $event;
|
| + }
|
| + },
|
| + handleNext$1: function(dispatch) {
|
| + var $event, t1;
|
| + $event = this.firstPendingEvent;
|
| + t1 = $event.get$next();
|
| + this.firstPendingEvent = t1;
|
| + if (t1 == null)
|
| + this.lastPendingEvent = null;
|
| + $event.perform$1(dispatch);
|
| + }
|
| + },
|
| + _cancelAndError_closure: {
|
| + "^": "Closure:0;future_0,error_1,stackTrace_2",
|
| + call$0: function() {
|
| + return this.future_0._completeError$2(this.error_1, this.stackTrace_2);
|
| + }
|
| + },
|
| + _cancelAndErrorClosure_closure: {
|
| + "^": "Closure:12;subscription_0,future_1",
|
| + call$2: function(error, stackTrace) {
|
| + return P._cancelAndError(this.subscription_0, this.future_1, error, stackTrace);
|
| + }
|
| + },
|
| + _cancelAndValue_closure: {
|
| + "^": "Closure:0;future_0,value_1",
|
| + call$0: function() {
|
| + return this.future_0._complete$1(this.value_1);
|
| + }
|
| + },
|
| + _ForwardingStream: {
|
| + "^": "Stream;",
|
| + listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
|
| + return this._createSubscription$4(onData, onError, onDone, true === cancelOnError);
|
| + },
|
| + listen$3$onDone$onError: function(onData, onDone, onError) {
|
| + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
|
| + },
|
| + _createSubscription$4: function(onData, onError, onDone, cancelOnError) {
|
| + return P._ForwardingStreamSubscription$(this, onData, onError, onDone, cancelOnError, H.getRuntimeTypeArgument(this, "_ForwardingStream", 0), H.getRuntimeTypeArgument(this, "_ForwardingStream", 1));
|
| + },
|
| + _handleData$2: function(data, sink) {
|
| + sink._async$_add$1(data);
|
| + },
|
| + $asStream: function($S, $T) {
|
| + return [$T];
|
| + }
|
| + },
|
| + _ForwardingStreamSubscription: {
|
| + "^": "_BufferingStreamSubscription;_stream,_subscription,_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending",
|
| + _async$_add$1: function(data) {
|
| + if ((this._state & 2) !== 0)
|
| + return;
|
| + this.super$_BufferingStreamSubscription$_async$_add$1(data);
|
| + },
|
| + _addError$2: function(error, stackTrace) {
|
| + if ((this._state & 2) !== 0)
|
| + return;
|
| + this.super$_BufferingStreamSubscription$_addError$2(error, stackTrace);
|
| + },
|
| + _onPause$0: [function() {
|
| + var t1 = this._subscription;
|
| + if (t1 == null)
|
| + return;
|
| + t1.pause$0(0);
|
| + }, "call$0", "get$_onPause", 0, 0, 1],
|
| + _onResume$0: [function() {
|
| + var t1 = this._subscription;
|
| + if (t1 == null)
|
| + return;
|
| + t1.resume$0();
|
| + }, "call$0", "get$_onResume", 0, 0, 1],
|
| + _onCancel$0: function() {
|
| + var t1 = this._subscription;
|
| + if (t1 != null) {
|
| + this._subscription = null;
|
| + t1.cancel$0();
|
| + }
|
| + return;
|
| + },
|
| + _handleData$1: [function(data) {
|
| + this._stream._handleData$2(data, this);
|
| + }, "call$1", "get$_handleData", 2, 0, function() {
|
| + return H.computeSignature(function(S, T) {
|
| + return {func: "void__S", void: true, args: [S]};
|
| + }, this.$receiver, "_ForwardingStreamSubscription");
|
| + }],
|
| + _handleError$2: [function(error, stackTrace) {
|
| + this._addError$2(error, stackTrace);
|
| + }, "call$2", "get$_handleError", 4, 0, 13],
|
| + _handleDone$0: [function() {
|
| + this._close$0();
|
| + }, "call$0", "get$_handleDone", 0, 0, 1],
|
| + _ForwardingStreamSubscription$5: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) {
|
| + var t1, t2;
|
| + t1 = this.get$_handleData();
|
| + t2 = this.get$_handleError();
|
| + this._subscription = this._stream._async$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2);
|
| + },
|
| + $as_BufferingStreamSubscription: function($S, $T) {
|
| + return [$T];
|
| + },
|
| + static: {_ForwardingStreamSubscription$: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) {
|
| + var t1, t2;
|
| + t1 = $.Zone__current;
|
| + t2 = cancelOnError ? 1 : 0;
|
| + t2 = H.setRuntimeTypeInfo(new P._ForwardingStreamSubscription(_stream, null, null, null, null, t1, t2, null, null), [$S, $T]);
|
| + t2._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, $T);
|
| + t2._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, cancelOnError, $S, $T);
|
| + return t2;
|
| + }}
|
| + },
|
| + _MapStream: {
|
| + "^": "_ForwardingStream;_transform,_async$_source",
|
| + _handleData$2: function(inputEvent, sink) {
|
| + var outputEvent, e, s, exception, t1;
|
| + outputEvent = null;
|
| + try {
|
| + outputEvent = this._transform$1(inputEvent);
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + P._addErrorWithReplacement(sink, e, s);
|
| + return;
|
| + }
|
| + sink._async$_add$1(outputEvent);
|
| + },
|
| + _transform$1: function(arg0) {
|
| + return this._transform.call$1(arg0);
|
| + }
|
| + },
|
| + Timer: {
|
| + "^": "Object;"
|
| + },
|
| + AsyncError: {
|
| + "^": "Object;error>,stackTrace<",
|
| + toString$0: function(_) {
|
| + return H.S(this.error);
|
| + },
|
| + $isError: 1
|
| + },
|
| + _ZoneFunction: {
|
| + "^": "Object;zone,$function"
|
| + },
|
| + ZoneSpecification: {
|
| + "^": "Object;"
|
| + },
|
| + _ZoneSpecification: {
|
| + "^": "Object;handleUncaughtError,run,runUnary,runBinary,registerCallback,registerUnaryCallback,registerBinaryCallback,errorCallback,scheduleMicrotask,createTimer,createPeriodicTimer,print,fork",
|
| + handleUncaughtError$2: function(arg0, arg1) {
|
| + return this.handleUncaughtError.call$2(arg0, arg1);
|
| + },
|
| + handleUncaughtError$3: function(arg0, arg1, arg2) {
|
| + return this.handleUncaughtError.call$3(arg0, arg1, arg2);
|
| + },
|
| + run$1: function(arg0) {
|
| + return this.run.call$1(arg0);
|
| + },
|
| + runUnary$2: function(arg0, arg1) {
|
| + return this.runUnary.call$2(arg0, arg1);
|
| + },
|
| + runBinary$3: function(arg0, arg1, arg2) {
|
| + return this.runBinary.call$3(arg0, arg1, arg2);
|
| + },
|
| + registerCallback$1: function(arg0) {
|
| + return this.registerCallback.call$1(arg0);
|
| + },
|
| + registerUnaryCallback$1: function(arg0) {
|
| + return this.registerUnaryCallback.call$1(arg0);
|
| + },
|
| + registerBinaryCallback$1: function(arg0) {
|
| + return this.registerBinaryCallback.call$1(arg0);
|
| + },
|
| + errorCallback$2: function(arg0, arg1) {
|
| + return this.errorCallback.call$2(arg0, arg1);
|
| + },
|
| + scheduleMicrotask$1: function(arg0) {
|
| + return this.scheduleMicrotask.call$1(arg0);
|
| + },
|
| + createTimer$2: function(arg0, arg1) {
|
| + return this.createTimer.call$2(arg0, arg1);
|
| + },
|
| + print$1: function($receiver, arg0) {
|
| + return this.print.call$1(arg0);
|
| + },
|
| + fork$2$specification$zoneValues: function(arg0, arg1) {
|
| + return this.fork.call$2$specification$zoneValues(arg0, arg1);
|
| + }
|
| + },
|
| + ZoneDelegate: {
|
| + "^": "Object;"
|
| + },
|
| + Zone: {
|
| + "^": "Object;"
|
| + },
|
| + _ZoneDelegate: {
|
| + "^": "Object;_delegationTarget",
|
| + handleUncaughtError$3: function(zone, error, stackTrace) {
|
| + var implementation, implZone;
|
| + implementation = this._delegationTarget.get$_handleUncaughtError();
|
| + implZone = implementation.zone;
|
| + return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, error, stackTrace);
|
| + }
|
| + },
|
| + _Zone: {
|
| + "^": "Object;",
|
| + inSameErrorZone$1: function(otherZone) {
|
| + return this === otherZone || this.get$errorZone() === otherZone.get$errorZone();
|
| + }
|
| + },
|
| + _CustomZone: {
|
| + "^": "_Zone;_runUnary<,_run<,_runBinary<,_registerCallback<,_registerUnaryCallback<,_registerBinaryCallback<,_errorCallback<,_scheduleMicrotask<,_createTimer<,_createPeriodicTimer<,_print<,_fork<,_handleUncaughtError<,_delegateCache,parent>,_map<",
|
| + get$_delegate: function() {
|
| + var t1 = this._delegateCache;
|
| + if (t1 != null)
|
| + return t1;
|
| + t1 = new P._ZoneDelegate(this);
|
| + this._delegateCache = t1;
|
| + return t1;
|
| + },
|
| + get$errorZone: function() {
|
| + return this._handleUncaughtError.zone;
|
| + },
|
| + runGuarded$1: function(f) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + t1 = this.run$1(f);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + return this.handleUncaughtError$2(e, s);
|
| + }
|
| + },
|
| + runUnaryGuarded$2: function(f, arg) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + t1 = this.runUnary$2(f, arg);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + return this.handleUncaughtError$2(e, s);
|
| + }
|
| + },
|
| + runBinaryGuarded$3: function(f, arg1, arg2) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + t1 = this.runBinary$3(f, arg1, arg2);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + return this.handleUncaughtError$2(e, s);
|
| + }
|
| + },
|
| + bindCallback$2$runGuarded: function(f, runGuarded) {
|
| + var registered = this.registerCallback$1(f);
|
| + if (runGuarded)
|
| + return new P._CustomZone_bindCallback_closure(this, registered);
|
| + else
|
| + return new P._CustomZone_bindCallback_closure0(this, registered);
|
| + },
|
| + bindCallback$1: function(f) {
|
| + return this.bindCallback$2$runGuarded(f, true);
|
| + },
|
| + bindUnaryCallback$2$runGuarded: function(f, runGuarded) {
|
| + var registered = this.registerUnaryCallback$1(f);
|
| + if (runGuarded)
|
| + return new P._CustomZone_bindUnaryCallback_closure(this, registered);
|
| + else
|
| + return new P._CustomZone_bindUnaryCallback_closure0(this, registered);
|
| + },
|
| + bindUnaryCallback$1: function(f) {
|
| + return this.bindUnaryCallback$2$runGuarded(f, true);
|
| + },
|
| + $index: function(_, key) {
|
| + var t1, result, t2, value;
|
| + t1 = this._map;
|
| + result = t1.$index(0, key);
|
| + if (result != null || t1.containsKey$1(key))
|
| + return result;
|
| + t2 = this.parent;
|
| + if (t2 != null) {
|
| + value = J.$index$asx(t2, key);
|
| + if (value != null)
|
| + t1.$indexSet(0, key, value);
|
| + return value;
|
| + }
|
| + return;
|
| + },
|
| + handleUncaughtError$2: function(error, stackTrace) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._handleUncaughtError;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$5(t1, parentDelegate, this, error, stackTrace);
|
| + },
|
| + fork$2$specification$zoneValues: function(specification, zoneValues) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._fork;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$5(t1, parentDelegate, this, specification, zoneValues);
|
| + },
|
| + run$1: function(f) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._run;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$4(t1, parentDelegate, this, f);
|
| + },
|
| + runUnary$2: function(f, arg) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._runUnary;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$5(t1, parentDelegate, this, f, arg);
|
| + },
|
| + runBinary$3: function(f, arg1, arg2) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._runBinary;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$6(t1, parentDelegate, this, f, arg1, arg2);
|
| + },
|
| + registerCallback$1: function(f) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._registerCallback;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$4(t1, parentDelegate, this, f);
|
| + },
|
| + registerUnaryCallback$1: function(f) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._registerUnaryCallback;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$4(t1, parentDelegate, this, f);
|
| + },
|
| + registerBinaryCallback$1: function(f) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._registerBinaryCallback;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$4(t1, parentDelegate, this, f);
|
| + },
|
| + errorCallback$2: function(error, stackTrace) {
|
| + var implementation, implementationZone, parentDelegate;
|
| + implementation = this._errorCallback;
|
| + implementationZone = implementation.zone;
|
| + if (implementationZone === C.C__RootZone)
|
| + return;
|
| + parentDelegate = P._parentDelegate(implementationZone);
|
| + return implementation.$function.call$5(implementationZone, parentDelegate, this, error, stackTrace);
|
| + },
|
| + scheduleMicrotask$1: function(f) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._scheduleMicrotask;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$4(t1, parentDelegate, this, f);
|
| + },
|
| + createTimer$2: function(duration, f) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._createTimer;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$5(t1, parentDelegate, this, duration, f);
|
| + },
|
| + print$1: function(_, line) {
|
| + var implementation, t1, parentDelegate;
|
| + implementation = this._print;
|
| + t1 = implementation.zone;
|
| + parentDelegate = P._parentDelegate(t1);
|
| + return implementation.$function.call$4(t1, parentDelegate, this, line);
|
| + },
|
| + _CustomZone$3: function($parent, specification, _map) {
|
| + var t1;
|
| + this._run = this.parent.get$_run();
|
| + this._runUnary = this.parent.get$_runUnary();
|
| + this._runBinary = this.parent.get$_runBinary();
|
| + this._registerCallback = this.parent.get$_registerCallback();
|
| + this._registerUnaryCallback = this.parent.get$_registerUnaryCallback();
|
| + this._registerBinaryCallback = this.parent.get$_registerBinaryCallback();
|
| + this._errorCallback = this.parent.get$_errorCallback();
|
| + this._scheduleMicrotask = this.parent.get$_scheduleMicrotask();
|
| + this._createTimer = this.parent.get$_createTimer();
|
| + this._createPeriodicTimer = this.parent.get$_createPeriodicTimer();
|
| + this._print = this.parent.get$_print();
|
| + this._fork = this.parent.get$_fork();
|
| + t1 = specification.handleUncaughtError;
|
| + this._handleUncaughtError = t1 != null ? new P._ZoneFunction(this, t1) : this.parent.get$_handleUncaughtError();
|
| + }
|
| + },
|
| + _CustomZone_bindCallback_closure: {
|
| + "^": "Closure:0;this_0,registered_1",
|
| + call$0: function() {
|
| + return this.this_0.runGuarded$1(this.registered_1);
|
| + }
|
| + },
|
| + _CustomZone_bindCallback_closure0: {
|
| + "^": "Closure:0;this_2,registered_3",
|
| + call$0: function() {
|
| + return this.this_2.run$1(this.registered_3);
|
| + }
|
| + },
|
| + _CustomZone_bindUnaryCallback_closure: {
|
| + "^": "Closure:2;this_0,registered_1",
|
| + call$1: function(arg) {
|
| + return this.this_0.runUnaryGuarded$2(this.registered_1, arg);
|
| + }
|
| + },
|
| + _CustomZone_bindUnaryCallback_closure0: {
|
| + "^": "Closure:2;this_2,registered_3",
|
| + call$1: function(arg) {
|
| + return this.this_2.runUnary$2(this.registered_3, arg);
|
| + }
|
| + },
|
| + _rootHandleUncaughtError_closure: {
|
| + "^": "Closure:0;error_0,stackTrace_1",
|
| + call$0: function() {
|
| + var t1 = this.error_0;
|
| + throw H.wrapException(new P._UncaughtAsyncError(t1, P._UncaughtAsyncError__getBestStackTrace(t1, this.stackTrace_1)));
|
| + }
|
| + },
|
| + _RootZone: {
|
| + "^": "_Zone;",
|
| + get$_run: function() {
|
| + return C._ZoneFunction__RootZone__rootRun;
|
| + },
|
| + get$_runUnary: function() {
|
| + return C._ZoneFunction__RootZone__rootRunUnary;
|
| + },
|
| + get$_runBinary: function() {
|
| + return C._ZoneFunction__RootZone__rootRunBinary;
|
| + },
|
| + get$_registerCallback: function() {
|
| + return C._ZoneFunction__RootZone__rootRegisterCallback;
|
| + },
|
| + get$_registerUnaryCallback: function() {
|
| + return C._ZoneFunction_Eeh;
|
| + },
|
| + get$_registerBinaryCallback: function() {
|
| + return C._ZoneFunction_7G2;
|
| + },
|
| + get$_errorCallback: function() {
|
| + return C._ZoneFunction__RootZone__rootErrorCallback;
|
| + },
|
| + get$_scheduleMicrotask: function() {
|
| + return C._ZoneFunction__RootZone__rootScheduleMicrotask;
|
| + },
|
| + get$_createTimer: function() {
|
| + return C._ZoneFunction__RootZone__rootCreateTimer;
|
| + },
|
| + get$_createPeriodicTimer: function() {
|
| + return C._ZoneFunction_3bB;
|
| + },
|
| + get$_print: function() {
|
| + return C._ZoneFunction__RootZone__rootPrint;
|
| + },
|
| + get$_fork: function() {
|
| + return C._ZoneFunction__RootZone__rootFork;
|
| + },
|
| + get$_handleUncaughtError: function() {
|
| + return C._ZoneFunction_NMc;
|
| + },
|
| + get$parent: function(_) {
|
| + return;
|
| + },
|
| + get$_map: function() {
|
| + return $.get$_RootZone__rootMap();
|
| + },
|
| + get$_delegate: function() {
|
| + var t1 = $._RootZone__rootDelegate;
|
| + if (t1 != null)
|
| + return t1;
|
| + t1 = new P._ZoneDelegate(this);
|
| + $._RootZone__rootDelegate = t1;
|
| + return t1;
|
| + },
|
| + get$errorZone: function() {
|
| + return this;
|
| + },
|
| + runGuarded$1: function(f) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + if (C.C__RootZone === $.Zone__current) {
|
| + t1 = f.call$0();
|
| + return t1;
|
| + }
|
| + t1 = P._rootRun(null, null, this, f);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + return P._rootHandleUncaughtError(null, null, this, e, s);
|
| + }
|
| + },
|
| + runUnaryGuarded$2: function(f, arg) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + if (C.C__RootZone === $.Zone__current) {
|
| + t1 = f.call$1(arg);
|
| + return t1;
|
| + }
|
| + t1 = P._rootRunUnary(null, null, this, f, arg);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + return P._rootHandleUncaughtError(null, null, this, e, s);
|
| + }
|
| + },
|
| + runBinaryGuarded$3: function(f, arg1, arg2) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + if (C.C__RootZone === $.Zone__current) {
|
| + t1 = f.call$2(arg1, arg2);
|
| + return t1;
|
| + }
|
| + t1 = P._rootRunBinary(null, null, this, f, arg1, arg2);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + return P._rootHandleUncaughtError(null, null, this, e, s);
|
| + }
|
| + },
|
| + bindCallback$2$runGuarded: function(f, runGuarded) {
|
| + if (runGuarded)
|
| + return new P._RootZone_bindCallback_closure(this, f);
|
| + else
|
| + return new P._RootZone_bindCallback_closure0(this, f);
|
| + },
|
| + bindCallback$1: function(f) {
|
| + return this.bindCallback$2$runGuarded(f, true);
|
| + },
|
| + bindUnaryCallback$2$runGuarded: function(f, runGuarded) {
|
| + if (runGuarded)
|
| + return new P._RootZone_bindUnaryCallback_closure(this, f);
|
| + else
|
| + return new P._RootZone_bindUnaryCallback_closure0(this, f);
|
| + },
|
| + bindUnaryCallback$1: function(f) {
|
| + return this.bindUnaryCallback$2$runGuarded(f, true);
|
| + },
|
| + $index: function(_, key) {
|
| + return;
|
| + },
|
| + handleUncaughtError$2: function(error, stackTrace) {
|
| + return P._rootHandleUncaughtError(null, null, this, error, stackTrace);
|
| + },
|
| + fork$2$specification$zoneValues: function(specification, zoneValues) {
|
| + return P._rootFork(null, null, this, specification, zoneValues);
|
| + },
|
| + run$1: function(f) {
|
| + if ($.Zone__current === C.C__RootZone)
|
| + return f.call$0();
|
| + return P._rootRun(null, null, this, f);
|
| + },
|
| + runUnary$2: function(f, arg) {
|
| + if ($.Zone__current === C.C__RootZone)
|
| + return f.call$1(arg);
|
| + return P._rootRunUnary(null, null, this, f, arg);
|
| + },
|
| + runBinary$3: function(f, arg1, arg2) {
|
| + if ($.Zone__current === C.C__RootZone)
|
| + return f.call$2(arg1, arg2);
|
| + return P._rootRunBinary(null, null, this, f, arg1, arg2);
|
| + },
|
| + registerCallback$1: function(f) {
|
| + return f;
|
| + },
|
| + registerUnaryCallback$1: function(f) {
|
| + return f;
|
| + },
|
| + registerBinaryCallback$1: function(f) {
|
| + return f;
|
| + },
|
| + errorCallback$2: function(error, stackTrace) {
|
| + return;
|
| + },
|
| + scheduleMicrotask$1: function(f) {
|
| + P._rootScheduleMicrotask(null, null, this, f);
|
| + },
|
| + createTimer$2: function(duration, f) {
|
| + return P.Timer__createTimer(duration, f);
|
| + },
|
| + print$1: function(_, line) {
|
| + H.printString(line);
|
| + }
|
| + },
|
| + _RootZone_bindCallback_closure: {
|
| + "^": "Closure:0;this_0,f_1",
|
| + call$0: function() {
|
| + return this.this_0.runGuarded$1(this.f_1);
|
| + }
|
| + },
|
| + _RootZone_bindCallback_closure0: {
|
| + "^": "Closure:0;this_2,f_3",
|
| + call$0: function() {
|
| + return this.this_2.run$1(this.f_3);
|
| + }
|
| + },
|
| + _RootZone_bindUnaryCallback_closure: {
|
| + "^": "Closure:2;this_0,f_1",
|
| + call$1: function(arg) {
|
| + return this.this_0.runUnaryGuarded$2(this.f_1, arg);
|
| + }
|
| + },
|
| + _RootZone_bindUnaryCallback_closure0: {
|
| + "^": "Closure:2;this_2,f_3",
|
| + call$1: function(arg) {
|
| + return this.this_2.runUnary$2(this.f_3, arg);
|
| + }
|
| + },
|
| + runZoned_closure: {
|
| + "^": "Closure:14;onError_0",
|
| + call$5: function($self, $parent, zone, error, stackTrace) {
|
| + var e, s, t1, t2, exception;
|
| + try {
|
| + t1 = this.onError_0;
|
| + t2 = H.getDynamicRuntimeType();
|
| + t2 = H.buildFunctionType(t2, [t2, t2])._isTest$1(t1);
|
| + if (t2) {
|
| + t1 = J.get$parent$x($self).runBinary$3(t1, error, stackTrace);
|
| + return t1;
|
| + }
|
| + t1 = J.get$parent$x($self).runUnary$2(t1, error);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = H.getTraceFromException(exception);
|
| + t1 = e;
|
| + t2 = error;
|
| + if (t1 == null ? t2 == null : t1 === t2)
|
| + return $parent.handleUncaughtError$3(zone, error, stackTrace);
|
| + else
|
| + return $parent.handleUncaughtError$3(zone, e, s);
|
| + }
|
| + }
|
| + }
|
| +}],
|
| +["dart.collection", "dart:collection", , P, {
|
| + "^": "",
|
| + LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
|
| + return H.fillLiteralMap(keyValuePairs, H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [$K, $V]));
|
| + },
|
| + LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
|
| + return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [$K, $V]);
|
| + },
|
| + _defaultEquals: [function(a, b) {
|
| + return J.$eq(a, b);
|
| + }, "call$2", "_defaultEquals$closure", 4, 0, 44],
|
| + _defaultHashCode: [function(a) {
|
| + return J.get$hashCode$(a);
|
| + }, "call$1", "_defaultHashCode$closure", 2, 0, 26],
|
| + HashMap_HashMap: function(equals, hashCode, isValidKey, $K, $V) {
|
| + return H.setRuntimeTypeInfo(new P._HashMap(0, null, null, null, null), [$K, $V]);
|
| + },
|
| + HashMap_HashMap$from: function(other, $K, $V) {
|
| + var result = P.HashMap_HashMap(null, null, null, $K, $V);
|
| + J.forEach$1$ax(other, new P.HashMap_HashMap$from_closure(result));
|
| + return result;
|
| + },
|
| + IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
|
| + var parts, t1;
|
| + if (P.IterableBase__isToStringVisiting(iterable)) {
|
| + if (leftDelimiter === "(" && rightDelimiter === ")")
|
| + return "(...)";
|
| + return leftDelimiter + "..." + rightDelimiter;
|
| + }
|
| + parts = [];
|
| + t1 = $.get$IterableBase__toStringVisiting();
|
| + t1.push(iterable);
|
| + try {
|
| + P.IterableBase__iterablePartsToStrings(iterable, parts);
|
| + } finally {
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + }
|
| + t1 = new P.StringBuffer(leftDelimiter);
|
| + t1.writeAll$2(parts, ", ");
|
| + t1 = t1._contents += rightDelimiter;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
|
| + var buffer, t1;
|
| + if (P.IterableBase__isToStringVisiting(iterable))
|
| + return leftDelimiter + "..." + rightDelimiter;
|
| + buffer = new P.StringBuffer(leftDelimiter);
|
| + t1 = $.get$IterableBase__toStringVisiting();
|
| + t1.push(iterable);
|
| + try {
|
| + buffer.writeAll$2(iterable, ", ");
|
| + } finally {
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + }
|
| + t1 = buffer;
|
| + t1._contents = t1.get$_contents() + rightDelimiter;
|
| + t1 = buffer.get$_contents();
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + IterableBase__isToStringVisiting: function(o) {
|
| + var i, t1;
|
| + for (i = 0; t1 = $.get$IterableBase__toStringVisiting(), i < t1.length; ++i) {
|
| + t1 = t1[i];
|
| + if (o == null ? t1 == null : o === t1)
|
| + return true;
|
| + }
|
| + return false;
|
| + },
|
| + IterableBase__iterablePartsToStrings: function(iterable, parts) {
|
| + var it, $length, count, 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());
|
| + parts.push(next);
|
| + $length += next.length + 2;
|
| + ++count;
|
| + }
|
| + if (!it.moveNext$0()) {
|
| + if (count <= 5)
|
| + return;
|
| + if (0 >= parts.length)
|
| + return H.ioore(parts, 0);
|
| + ultimateString = parts.pop();
|
| + if (0 >= parts.length)
|
| + return H.ioore(parts, 0);
|
| + penultimateString = parts.pop();
|
| + } else {
|
| + penultimate = it.get$current();
|
| + ++count;
|
| + if (!it.moveNext$0()) {
|
| + if (count <= 4) {
|
| + parts.push(H.S(penultimate));
|
| + return;
|
| + }
|
| + ultimateString = H.S(penultimate);
|
| + if (0 >= parts.length)
|
| + return H.ioore(parts, 0);
|
| + 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, 0);
|
| + $length -= parts.pop().length + 2;
|
| + --count;
|
| + }
|
| + parts.push("...");
|
| + 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, 0);
|
| + $length -= parts.pop().length + 2;
|
| + if (elision == null) {
|
| + $length += 5;
|
| + elision = "...";
|
| + }
|
| + }
|
| + if (elision != null)
|
| + parts.push(elision);
|
| + parts.push(penultimateString);
|
| + parts.push(ultimateString);
|
| + },
|
| + LinkedHashMap_LinkedHashMap: function(equals, hashCode, isValidKey, $K, $V) {
|
| + return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [$K, $V]);
|
| + },
|
| + LinkedHashMap_LinkedHashMap$identity: function($K, $V) {
|
| + return H.setRuntimeTypeInfo(new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0), [$K, $V]);
|
| + },
|
| + LinkedHashSet_LinkedHashSet: function(equals, hashCode, isValidKey, $E) {
|
| + return H.setRuntimeTypeInfo(new P._LinkedHashSet(0, null, null, null, null, null, 0), [$E]);
|
| + },
|
| + Maps_mapToString: function(m) {
|
| + var t1, result, t2;
|
| + t1 = {};
|
| + if (P.IterableBase__isToStringVisiting(m))
|
| + return "{...}";
|
| + result = new P.StringBuffer("");
|
| + try {
|
| + $.get$IterableBase__toStringVisiting().push(m);
|
| + t2 = result;
|
| + t2._contents = t2.get$_contents() + "{";
|
| + t1.first_0 = true;
|
| + J.forEach$1$ax(m, new P.Maps_mapToString_closure(t1, result));
|
| + t1 = result;
|
| + t1._contents = t1.get$_contents() + "}";
|
| + } finally {
|
| + t1 = $.get$IterableBase__toStringVisiting();
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + }
|
| + t1 = result.get$_contents();
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + _HashMap: {
|
| + "^": "Object;_collection$_length,_collection$_strings,_collection$_nums,_collection$_rest,_keys",
|
| + get$length: function(_) {
|
| + return this._collection$_length;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this._collection$_length === 0;
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return this._collection$_length !== 0;
|
| + },
|
| + containsKey$1: function(key) {
|
| + var strings, nums;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._collection$_strings;
|
| + return strings == null ? false : strings[key] != null;
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._collection$_nums;
|
| + return nums == null ? false : nums[key] != null;
|
| + } else
|
| + return this._containsKey$1(key);
|
| + },
|
| + _containsKey$1: function(key) {
|
| + var rest = this._collection$_rest;
|
| + if (rest == null)
|
| + return false;
|
| + return this._findBucketIndex$2(rest[this._computeHashCode$1(key)], key) >= 0;
|
| + },
|
| + $index: function(_, key) {
|
| + var strings, t1, entry, nums;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._collection$_strings;
|
| + if (strings == null)
|
| + t1 = null;
|
| + else {
|
| + entry = strings[key];
|
| + t1 = entry === strings ? null : entry;
|
| + }
|
| + return t1;
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._collection$_nums;
|
| + if (nums == null)
|
| + t1 = null;
|
| + else {
|
| + entry = nums[key];
|
| + t1 = entry === nums ? null : entry;
|
| + }
|
| + return t1;
|
| + } else
|
| + return this._get$1(key);
|
| + },
|
| + _get$1: function(key) {
|
| + var rest, bucket, index;
|
| + rest = this._collection$_rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this._computeHashCode$1(key)];
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + return index < 0 ? null : bucket[index + 1];
|
| + },
|
| + $indexSet: function(_, key, value) {
|
| + var strings, nums;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._collection$_strings;
|
| + if (strings == null) {
|
| + strings = P._HashMap__newHashTable();
|
| + this._collection$_strings = strings;
|
| + }
|
| + this._collection$_addHashTableEntry$3(strings, key, value);
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._collection$_nums;
|
| + if (nums == null) {
|
| + nums = P._HashMap__newHashTable();
|
| + this._collection$_nums = nums;
|
| + }
|
| + this._collection$_addHashTableEntry$3(nums, key, value);
|
| + } else
|
| + this._set$2(key, value);
|
| + },
|
| + _set$2: function(key, value) {
|
| + var rest, hash, bucket, index;
|
| + rest = this._collection$_rest;
|
| + if (rest == null) {
|
| + rest = P._HashMap__newHashTable();
|
| + this._collection$_rest = rest;
|
| + }
|
| + hash = this._computeHashCode$1(key);
|
| + bucket = rest[hash];
|
| + if (bucket == null) {
|
| + P._HashMap__setTableEntry(rest, hash, [key, value]);
|
| + ++this._collection$_length;
|
| + this._keys = null;
|
| + } else {
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + if (index >= 0)
|
| + bucket[index + 1] = value;
|
| + else {
|
| + bucket.push(key, value);
|
| + ++this._collection$_length;
|
| + this._keys = null;
|
| + }
|
| + }
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var keys, $length, i, key;
|
| + keys = this._collection$_computeKeys$0();
|
| + for ($length = keys.length, i = 0; i < $length; ++i) {
|
| + key = keys[i];
|
| + action.call$2(key, this.$index(0, key));
|
| + if (keys !== this._keys)
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + }
|
| + },
|
| + _collection$_computeKeys$0: function() {
|
| + var t1, result, strings, names, entries, index, i, nums, rest, bucket, $length, i0;
|
| + t1 = this._keys;
|
| + if (t1 != null)
|
| + return t1;
|
| + result = Array(this._collection$_length);
|
| + result.fixed$length = Array;
|
| + strings = this._collection$_strings;
|
| + if (strings != null) {
|
| + names = Object.getOwnPropertyNames(strings);
|
| + entries = names.length;
|
| + for (index = 0, i = 0; i < entries; ++i) {
|
| + result[index] = names[i];
|
| + ++index;
|
| + }
|
| + } else
|
| + index = 0;
|
| + nums = this._collection$_nums;
|
| + if (nums != null) {
|
| + names = Object.getOwnPropertyNames(nums);
|
| + entries = names.length;
|
| + for (i = 0; i < entries; ++i) {
|
| + result[index] = +names[i];
|
| + ++index;
|
| + }
|
| + }
|
| + rest = this._collection$_rest;
|
| + if (rest != null) {
|
| + names = Object.getOwnPropertyNames(rest);
|
| + entries = names.length;
|
| + for (i = 0; i < entries; ++i) {
|
| + bucket = rest[names[i]];
|
| + $length = bucket.length;
|
| + for (i0 = 0; i0 < $length; i0 += 2) {
|
| + result[index] = bucket[i0];
|
| + ++index;
|
| + }
|
| + }
|
| + }
|
| + this._keys = result;
|
| + return result;
|
| + },
|
| + _collection$_addHashTableEntry$3: function(table, key, value) {
|
| + if (table[key] == null) {
|
| + ++this._collection$_length;
|
| + this._keys = null;
|
| + }
|
| + P._HashMap__setTableEntry(table, key, value);
|
| + },
|
| + _computeHashCode$1: function(key) {
|
| + return J.get$hashCode$(key) & 0x3ffffff;
|
| + },
|
| + _findBucketIndex$2: function(bucket, key) {
|
| + var $length, i;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; i += 2)
|
| + if (J.$eq(bucket[i], key))
|
| + return i;
|
| + return -1;
|
| + },
|
| + $isMap: 1,
|
| + static: {_HashMap__setTableEntry: function(table, key, value) {
|
| + if (value == null)
|
| + table[key] = table;
|
| + else
|
| + table[key] = value;
|
| + }, _HashMap__newHashTable: function() {
|
| + var table = Object.create(null);
|
| + P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
|
| + delete table["<non-identifier-key>"];
|
| + return table;
|
| + }}
|
| + },
|
| + _LinkedIdentityHashMap: {
|
| + "^": "JsLinkedHashMap;__js_helper$_length,_strings,_nums,_rest,_first,_last,_modifications",
|
| + internalComputeHashCode$1: function(key) {
|
| + return H.objectHashCode(key) & 0x3ffffff;
|
| + },
|
| + internalFindBucketIndex$2: function(bucket, key) {
|
| + var $length, i, t1;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; ++i) {
|
| + t1 = bucket[i].get$hashMapCellKey();
|
| + if (t1 == null ? key == null : t1 === key)
|
| + return i;
|
| + }
|
| + return -1;
|
| + }
|
| + },
|
| + _LinkedHashSet: {
|
| + "^": "_HashSetBase;_collection$_length,_collection$_strings,_collection$_nums,_collection$_rest,_collection$_first,_collection$_last,_collection$_modifications",
|
| + get$iterator: function(_) {
|
| + var t1 = new P.LinkedHashSetIterator(this, this._collection$_modifications, null, null);
|
| + t1._collection$_cell = this._collection$_first;
|
| + return t1;
|
| + },
|
| + get$length: function(_) {
|
| + return this._collection$_length;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this._collection$_length === 0;
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return this._collection$_length !== 0;
|
| + },
|
| + contains$1: function(_, object) {
|
| + var strings, nums;
|
| + if (typeof object === "string" && object !== "__proto__") {
|
| + strings = this._collection$_strings;
|
| + if (strings == null)
|
| + return false;
|
| + return strings[object] != null;
|
| + } else if (typeof object === "number" && (object & 0x3ffffff) === object) {
|
| + nums = this._collection$_nums;
|
| + if (nums == null)
|
| + return false;
|
| + return nums[object] != null;
|
| + } else
|
| + return this._contains$1(object);
|
| + },
|
| + _contains$1: function(object) {
|
| + var rest = this._collection$_rest;
|
| + if (rest == null)
|
| + return false;
|
| + return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
|
| + },
|
| + lookup$1: function(object) {
|
| + var t1;
|
| + if (!(typeof object === "string" && object !== "__proto__"))
|
| + t1 = typeof object === "number" && (object & 0x3ffffff) === object;
|
| + else
|
| + t1 = true;
|
| + if (t1)
|
| + return this.contains$1(0, object) ? object : null;
|
| + else
|
| + return this._lookup$1(object);
|
| + },
|
| + _lookup$1: function(object) {
|
| + var rest, bucket, index;
|
| + rest = this._collection$_rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this._computeHashCode$1(object)];
|
| + index = this._findBucketIndex$2(bucket, object);
|
| + if (index < 0)
|
| + return;
|
| + return J.$index$asx(bucket, index).get$_element();
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var cell, modifications;
|
| + cell = this._collection$_first;
|
| + modifications = this._collection$_modifications;
|
| + for (; cell != null;) {
|
| + action.call$1(cell._element);
|
| + if (modifications !== this._collection$_modifications)
|
| + throw H.wrapException(P.ConcurrentModificationError$(this));
|
| + cell = cell._collection$_next;
|
| + }
|
| + },
|
| + get$last: function(_) {
|
| + var t1 = this._collection$_last;
|
| + if (t1 == null)
|
| + throw H.wrapException(P.StateError$("No elements"));
|
| + return t1._element;
|
| + },
|
| + add$1: function(_, element) {
|
| + var strings, table, nums;
|
| + if (typeof element === "string" && element !== "__proto__") {
|
| + strings = this._collection$_strings;
|
| + if (strings == null) {
|
| + table = Object.create(null);
|
| + table["<non-identifier-key>"] = table;
|
| + delete table["<non-identifier-key>"];
|
| + this._collection$_strings = table;
|
| + strings = table;
|
| + }
|
| + return this._collection$_addHashTableEntry$2(strings, element);
|
| + } else if (typeof element === "number" && (element & 0x3ffffff) === element) {
|
| + nums = this._collection$_nums;
|
| + if (nums == null) {
|
| + table = Object.create(null);
|
| + table["<non-identifier-key>"] = table;
|
| + delete table["<non-identifier-key>"];
|
| + this._collection$_nums = table;
|
| + nums = table;
|
| + }
|
| + return this._collection$_addHashTableEntry$2(nums, element);
|
| + } else
|
| + return this._add$1(element);
|
| + },
|
| + _add$1: function(element) {
|
| + var rest, hash, bucket;
|
| + rest = this._collection$_rest;
|
| + if (rest == null) {
|
| + rest = P._LinkedHashSet__newHashTable();
|
| + this._collection$_rest = rest;
|
| + }
|
| + hash = this._computeHashCode$1(element);
|
| + bucket = rest[hash];
|
| + if (bucket == null)
|
| + rest[hash] = [this._collection$_newLinkedCell$1(element)];
|
| + else {
|
| + if (this._findBucketIndex$2(bucket, element) >= 0)
|
| + return false;
|
| + bucket.push(this._collection$_newLinkedCell$1(element));
|
| + }
|
| + return true;
|
| + },
|
| + remove$1: function(_, object) {
|
| + if (typeof object === "string" && object !== "__proto__")
|
| + return this._collection$_removeHashTableEntry$2(this._collection$_strings, object);
|
| + else if (typeof object === "number" && (object & 0x3ffffff) === object)
|
| + return this._collection$_removeHashTableEntry$2(this._collection$_nums, object);
|
| + else
|
| + return this._remove$1(object);
|
| + },
|
| + _remove$1: function(object) {
|
| + var rest, bucket, index;
|
| + rest = this._collection$_rest;
|
| + if (rest == null)
|
| + return false;
|
| + bucket = rest[this._computeHashCode$1(object)];
|
| + index = this._findBucketIndex$2(bucket, object);
|
| + if (index < 0)
|
| + return false;
|
| + this._collection$_unlinkCell$1(bucket.splice(index, 1)[0]);
|
| + return true;
|
| + },
|
| + clear$0: function(_) {
|
| + if (this._collection$_length > 0) {
|
| + this._collection$_last = null;
|
| + this._collection$_first = null;
|
| + this._collection$_rest = null;
|
| + this._collection$_nums = null;
|
| + this._collection$_strings = null;
|
| + this._collection$_length = 0;
|
| + this._collection$_modifications = this._collection$_modifications + 1 & 67108863;
|
| + }
|
| + },
|
| + _collection$_addHashTableEntry$2: function(table, element) {
|
| + if (table[element] != null)
|
| + return false;
|
| + table[element] = this._collection$_newLinkedCell$1(element);
|
| + return true;
|
| + },
|
| + _collection$_removeHashTableEntry$2: function(table, element) {
|
| + var cell;
|
| + if (table == null)
|
| + return false;
|
| + cell = table[element];
|
| + if (cell == null)
|
| + return false;
|
| + this._collection$_unlinkCell$1(cell);
|
| + delete table[element];
|
| + return true;
|
| + },
|
| + _collection$_newLinkedCell$1: function(element) {
|
| + var cell, last;
|
| + cell = new P.LinkedHashSetCell(element, null, null);
|
| + if (this._collection$_first == null) {
|
| + this._collection$_last = cell;
|
| + this._collection$_first = cell;
|
| + } else {
|
| + last = this._collection$_last;
|
| + cell._collection$_previous = last;
|
| + last._collection$_next = cell;
|
| + this._collection$_last = cell;
|
| + }
|
| + ++this._collection$_length;
|
| + this._collection$_modifications = this._collection$_modifications + 1 & 67108863;
|
| + return cell;
|
| + },
|
| + _collection$_unlinkCell$1: function(cell) {
|
| + var previous, next;
|
| + previous = cell.get$_collection$_previous();
|
| + next = cell._collection$_next;
|
| + if (previous == null)
|
| + this._collection$_first = next;
|
| + else
|
| + previous._collection$_next = next;
|
| + if (next == null)
|
| + this._collection$_last = previous;
|
| + else
|
| + next._collection$_previous = previous;
|
| + --this._collection$_length;
|
| + this._collection$_modifications = this._collection$_modifications + 1 & 67108863;
|
| + },
|
| + _computeHashCode$1: function(element) {
|
| + return J.get$hashCode$(element) & 0x3ffffff;
|
| + },
|
| + _findBucketIndex$2: function(bucket, element) {
|
| + var $length, i;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; ++i)
|
| + if (J.$eq(bucket[i].get$_element(), element))
|
| + return i;
|
| + return -1;
|
| + },
|
| + $isEfficientLength: 1,
|
| + static: {_LinkedHashSet__newHashTable: function() {
|
| + var table = Object.create(null);
|
| + table["<non-identifier-key>"] = table;
|
| + delete table["<non-identifier-key>"];
|
| + return table;
|
| + }}
|
| + },
|
| + LinkedHashSetCell: {
|
| + "^": "Object;_element<,_collection$_next,_collection$_previous<"
|
| + },
|
| + LinkedHashSetIterator: {
|
| + "^": "Object;_set,_collection$_modifications,_collection$_cell,_collection$_current",
|
| + get$current: function() {
|
| + return this._collection$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1 = this._set;
|
| + if (this._collection$_modifications !== t1._collection$_modifications)
|
| + throw H.wrapException(P.ConcurrentModificationError$(t1));
|
| + else {
|
| + t1 = this._collection$_cell;
|
| + if (t1 == null) {
|
| + this._collection$_current = null;
|
| + return false;
|
| + } else {
|
| + this._collection$_current = t1._element;
|
| + this._collection$_cell = t1._collection$_next;
|
| + return true;
|
| + }
|
| + }
|
| + }
|
| + },
|
| + UnmodifiableListView: {
|
| + "^": "UnmodifiableListBase;_collection$_source",
|
| + get$length: function(_) {
|
| + return this._collection$_source.length;
|
| + },
|
| + $index: function(_, index) {
|
| + var t1 = this._collection$_source;
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + return H.ioore(t1, index);
|
| + return t1[index];
|
| + }
|
| + },
|
| + HashMap_HashMap$from_closure: {
|
| + "^": "Closure:15;result_0",
|
| + call$2: function(k, v) {
|
| + this.result_0.$indexSet(0, k, v);
|
| + }
|
| + },
|
| + _HashSetBase: {
|
| + "^": "SetBase;"
|
| + },
|
| + IterableBase: {
|
| + "^": "Object;",
|
| + map$1: function(_, f) {
|
| + return H.MappedIterable_MappedIterable(this, f, H.getRuntimeTypeArgument(this, "IterableBase", 0), null);
|
| + },
|
| + contains$1: function(_, element) {
|
| + var t1;
|
| + for (t1 = this.get$iterator(this); t1.moveNext$0();)
|
| + if (J.$eq(t1.get$current(), element))
|
| + return true;
|
| + return false;
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var t1;
|
| + for (t1 = this.get$iterator(this); t1.moveNext$0();)
|
| + f.call$1(t1.get$current());
|
| + },
|
| + toList$1$growable: function(_, growable) {
|
| + return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "IterableBase", 0));
|
| + },
|
| + toList$0: function($receiver) {
|
| + return this.toList$1$growable($receiver, true);
|
| + },
|
| + get$length: function(_) {
|
| + var it, count;
|
| + it = this.get$iterator(this);
|
| + for (count = 0; it.moveNext$0();)
|
| + ++count;
|
| + return count;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return !this.get$iterator(this).moveNext$0();
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return this.get$isEmpty(this) !== true;
|
| + },
|
| + skipWhile$1: ["super$IterableBase$skipWhile$1", function(_, test) {
|
| + return H.setRuntimeTypeInfo(new H.SkipWhileIterable(this, test), [H.getRuntimeTypeArgument(this, "IterableBase", 0)]);
|
| + }],
|
| + get$first: function(_) {
|
| + var it = this.get$iterator(this);
|
| + if (!it.moveNext$0())
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + return it.get$current();
|
| + },
|
| + get$last: function(_) {
|
| + var it, result;
|
| + it = this.get$iterator(this);
|
| + if (!it.moveNext$0())
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + do
|
| + result = it.get$current();
|
| + while (it.moveNext$0());
|
| + return result;
|
| + },
|
| + elementAt$1: function(_, index) {
|
| + var t1, elementIndex, element;
|
| + if (index < 0)
|
| + H.throwExpression(P.RangeError$range(index, 0, null, "index", null));
|
| + 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, "(", ")");
|
| + }
|
| + },
|
| + ListBase: {
|
| + "^": "Object_ListMixin;"
|
| + },
|
| + Object_ListMixin: {
|
| + "^": "Object+ListMixin;",
|
| + $isList: 1,
|
| + $asList: null,
|
| + $isEfficientLength: 1
|
| + },
|
| + ListMixin: {
|
| + "^": "Object;",
|
| + get$iterator: function(receiver) {
|
| + return new H.ListIterator(receiver, this.get$length(receiver), 0, null);
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + return this.$index(receiver, index);
|
| + },
|
| + forEach$1: function(receiver, action) {
|
| + var $length, i;
|
| + $length = this.get$length(receiver);
|
| + for (i = 0; i < $length; ++i) {
|
| + action.call$1(this.$index(receiver, i));
|
| + if ($length !== this.get$length(receiver))
|
| + throw H.wrapException(P.ConcurrentModificationError$(receiver));
|
| + }
|
| + },
|
| + get$isEmpty: function(receiver) {
|
| + return this.get$length(receiver) === 0;
|
| + },
|
| + get$isNotEmpty: function(receiver) {
|
| + return !this.get$isEmpty(receiver);
|
| + },
|
| + get$last: function(receiver) {
|
| + if (this.get$length(receiver) === 0)
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + return this.$index(receiver, this.get$length(receiver) - 1);
|
| + },
|
| + contains$1: function(receiver, element) {
|
| + var $length, i;
|
| + $length = this.get$length(receiver);
|
| + for (i = 0; i < this.get$length(receiver); ++i) {
|
| + if (J.$eq(this.$index(receiver, i), element))
|
| + return true;
|
| + if ($length !== this.get$length(receiver))
|
| + throw H.wrapException(P.ConcurrentModificationError$(receiver));
|
| + }
|
| + return false;
|
| + },
|
| + map$1: function(receiver, f) {
|
| + return H.setRuntimeTypeInfo(new H.MappedListIterable(receiver, f), [null, null]);
|
| + },
|
| + skip$1: function(receiver, count) {
|
| + return H.SubListIterable$(receiver, count, null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
|
| + },
|
| + add$1: function(receiver, element) {
|
| + var t1 = this.get$length(receiver);
|
| + this.set$length(receiver, t1 + 1);
|
| + this.$indexSet(receiver, t1, element);
|
| + },
|
| + indexOf$2: function(receiver, element, startIndex) {
|
| + var i;
|
| + if (startIndex >= this.get$length(receiver))
|
| + return -1;
|
| + if (startIndex < 0)
|
| + startIndex = 0;
|
| + for (i = startIndex; i < this.get$length(receiver); ++i)
|
| + if (J.$eq(this.$index(receiver, i), element))
|
| + return i;
|
| + return -1;
|
| + },
|
| + indexOf$1: function($receiver, element) {
|
| + return this.indexOf$2($receiver, element, 0);
|
| + },
|
| + get$reversed: function(receiver) {
|
| + return H.setRuntimeTypeInfo(new H.ReversedListIterable(receiver), [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
|
| + },
|
| + toString$0: function(receiver) {
|
| + return P.IterableBase_iterableToFullString(receiver, "[", "]");
|
| + },
|
| + $isList: 1,
|
| + $asList: null,
|
| + $isEfficientLength: 1
|
| + },
|
| + _UnmodifiableMapMixin: {
|
| + "^": "Object;",
|
| + $indexSet: function(_, key, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
|
| + },
|
| + $isMap: 1
|
| + },
|
| + MapView: {
|
| + "^": "Object;",
|
| + $index: function(_, key) {
|
| + return J.$index$asx(this._collection$_map, key);
|
| + },
|
| + $indexSet: function(_, key, value) {
|
| + J.$indexSet$ax(this._collection$_map, key, value);
|
| + },
|
| + forEach$1: function(_, action) {
|
| + J.forEach$1$ax(this._collection$_map, action);
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return J.get$isEmpty$asx(this._collection$_map);
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return J.get$isNotEmpty$asx(this._collection$_map);
|
| + },
|
| + get$length: function(_) {
|
| + return J.get$length$asx(this._collection$_map);
|
| + },
|
| + toString$0: function(_) {
|
| + return J.toString$0(this._collection$_map);
|
| + },
|
| + $isMap: 1
|
| + },
|
| + UnmodifiableMapView: {
|
| + "^": "MapView+_UnmodifiableMapMixin;_collection$_map",
|
| + $isMap: 1
|
| + },
|
| + Maps_mapToString_closure: {
|
| + "^": "Closure:15;box_0,result_1",
|
| + call$2: function(k, v) {
|
| + var t1, t2;
|
| + t1 = this.box_0;
|
| + if (!t1.first_0)
|
| + this.result_1._contents += ", ";
|
| + t1.first_0 = false;
|
| + t1 = this.result_1;
|
| + t2 = t1._contents += H.S(k);
|
| + t1._contents = t2 + ": ";
|
| + t1._contents += H.S(v);
|
| + }
|
| + },
|
| + ListQueue: {
|
| + "^": "IterableBase;_table,_head,_tail,_modificationCount",
|
| + get$iterator: function(_) {
|
| + return new P._ListQueueIterator(this, this._tail, this._modificationCount, this._head, null);
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var modificationCount, i, t1;
|
| + modificationCount = this._modificationCount;
|
| + for (i = this._head; i !== this._tail; i = (i + 1 & this._table.length - 1) >>> 0) {
|
| + t1 = this._table;
|
| + if (i < 0 || i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + action.call$1(t1[i]);
|
| + if (modificationCount !== this._modificationCount)
|
| + H.throwExpression(P.ConcurrentModificationError$(this));
|
| + }
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this._head === this._tail;
|
| + },
|
| + get$length: function(_) {
|
| + return (this._tail - this._head & this._table.length - 1) >>> 0;
|
| + },
|
| + get$last: function(_) {
|
| + var t1, t2, t3;
|
| + t1 = this._head;
|
| + t2 = this._tail;
|
| + if (t1 === t2)
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + t1 = this._table;
|
| + t3 = t1.length;
|
| + t2 = (t2 - 1 & t3 - 1) >>> 0;
|
| + if (t2 < 0 || t2 >= t3)
|
| + return H.ioore(t1, t2);
|
| + return t1[t2];
|
| + },
|
| + add$1: function(_, element) {
|
| + this._add$1(element);
|
| + },
|
| + clear$0: function(_) {
|
| + var i, t1, t2, t3, t4;
|
| + i = this._head;
|
| + t1 = this._tail;
|
| + if (i !== t1) {
|
| + for (t2 = this._table, t3 = t2.length, t4 = t3 - 1; i !== t1; i = (i + 1 & t4) >>> 0) {
|
| + if (i < 0 || i >= t3)
|
| + return H.ioore(t2, i);
|
| + t2[i] = null;
|
| + }
|
| + this._tail = 0;
|
| + this._head = 0;
|
| + ++this._modificationCount;
|
| + }
|
| + },
|
| + toString$0: function(_) {
|
| + return P.IterableBase_iterableToFullString(this, "{", "}");
|
| + },
|
| + removeFirst$0: function() {
|
| + var t1, t2, t3, result;
|
| + t1 = this._head;
|
| + if (t1 === this._tail)
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + ++this._modificationCount;
|
| + t2 = this._table;
|
| + t3 = t2.length;
|
| + if (t1 >= t3)
|
| + return H.ioore(t2, t1);
|
| + result = t2[t1];
|
| + t2[t1] = null;
|
| + this._head = (t1 + 1 & t3 - 1) >>> 0;
|
| + return result;
|
| + },
|
| + _add$1: function(element) {
|
| + var t1, t2, t3;
|
| + t1 = this._table;
|
| + t2 = this._tail;
|
| + t3 = t1.length;
|
| + if (t2 < 0 || t2 >= t3)
|
| + return H.ioore(t1, t2);
|
| + t1[t2] = element;
|
| + t3 = (t2 + 1 & t3 - 1) >>> 0;
|
| + this._tail = t3;
|
| + if (this._head === t3)
|
| + this._grow$0();
|
| + ++this._modificationCount;
|
| + },
|
| + _grow$0: function() {
|
| + var t1, newTable, t2, split;
|
| + t1 = Array(this._table.length * 2);
|
| + t1.fixed$length = Array;
|
| + newTable = H.setRuntimeTypeInfo(t1, [H.getTypeArgumentByIndex(this, 0)]);
|
| + t1 = this._table;
|
| + t2 = this._head;
|
| + split = t1.length - t2;
|
| + C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
|
| + C.JSArray_methods.setRange$4(newTable, split, split + this._head, this._table, 0);
|
| + this._head = 0;
|
| + this._tail = this._table.length;
|
| + this._table = newTable;
|
| + },
|
| + ListQueue$1: function(initialCapacity, $E) {
|
| + var t1 = Array(8);
|
| + t1.fixed$length = Array;
|
| + this._table = H.setRuntimeTypeInfo(t1, [$E]);
|
| + },
|
| + $isEfficientLength: 1,
|
| + static: {ListQueue$: function(initialCapacity, $E) {
|
| + var t1 = H.setRuntimeTypeInfo(new P.ListQueue(null, 0, 0, 0), [$E]);
|
| + t1.ListQueue$1(initialCapacity, $E);
|
| + return t1;
|
| + }}
|
| + },
|
| + _ListQueueIterator: {
|
| + "^": "Object;_queue,_end,_modificationCount,_collection$_position,_collection$_current",
|
| + get$current: function() {
|
| + return this._collection$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1, t2, t3;
|
| + t1 = this._queue;
|
| + if (this._modificationCount !== t1._modificationCount)
|
| + H.throwExpression(P.ConcurrentModificationError$(t1));
|
| + t2 = this._collection$_position;
|
| + if (t2 === this._end) {
|
| + this._collection$_current = null;
|
| + return false;
|
| + }
|
| + t1 = t1._table;
|
| + t3 = t1.length;
|
| + if (t2 >= t3)
|
| + return H.ioore(t1, t2);
|
| + this._collection$_current = t1[t2];
|
| + this._collection$_position = (t2 + 1 & t3 - 1) >>> 0;
|
| + return true;
|
| + }
|
| + },
|
| + SetMixin: {
|
| + "^": "Object;",
|
| + get$isEmpty: function(_) {
|
| + return this.get$length(this) === 0;
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return this.get$length(this) !== 0;
|
| + },
|
| + map$1: function(_, f) {
|
| + return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(this, f), [H.getTypeArgumentByIndex(this, 0), null]);
|
| + },
|
| + toString$0: function(_) {
|
| + return P.IterableBase_iterableToFullString(this, "{", "}");
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var t1;
|
| + for (t1 = this.get$iterator(this); t1.moveNext$0();)
|
| + f.call$1(t1._collection$_current);
|
| + },
|
| + get$last: function(_) {
|
| + var it, result;
|
| + it = this.get$iterator(this);
|
| + if (!it.moveNext$0())
|
| + throw H.wrapException(H.IterableElementError_noElement());
|
| + do
|
| + result = it._collection$_current;
|
| + while (it.moveNext$0());
|
| + return result;
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + SetBase: {
|
| + "^": "SetMixin;"
|
| + }
|
| +}],
|
| +["dart.convert", "dart:convert", , P, {
|
| + "^": "",
|
| + _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), null);
|
| + for (i = 0; i < object.length; ++i)
|
| + object[i] = P._convertJsonToDartLazy(object[i]);
|
| + return object;
|
| + },
|
| + _parseJson: function(source, reviver) {
|
| + var parsed, e, t1, exception;
|
| + t1 = source;
|
| + if (typeof t1 !== "string")
|
| + throw H.wrapException(P.ArgumentError$(source));
|
| + parsed = null;
|
| + try {
|
| + parsed = JSON.parse(source);
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + throw H.wrapException(P.FormatException$(String(e), null, null));
|
| + }
|
| + return P._convertJsonToDartLazy(parsed);
|
| + },
|
| + _defaultToEncodable: [function(object) {
|
| + return object.toJson$0();
|
| + }, "call$1", "_defaultToEncodable$closure", 2, 0, 45],
|
| + _JsonMap: {
|
| + "^": "Object;_original,_processed,_data",
|
| + $index: function(_, key) {
|
| + var t1, 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(_) {
|
| + var t1;
|
| + if (this._processed == null) {
|
| + t1 = this._data;
|
| + t1 = t1.get$length(t1);
|
| + } else
|
| + t1 = this._computeKeys$0().length;
|
| + return t1;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + var t1;
|
| + if (this._processed == null) {
|
| + t1 = this._data;
|
| + t1 = t1.get$length(t1);
|
| + } else
|
| + t1 = this._computeKeys$0().length;
|
| + return t1 === 0;
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + var t1;
|
| + if (this._processed == null) {
|
| + t1 = this._data;
|
| + t1 = t1.get$length(t1);
|
| + } else
|
| + t1 = this._computeKeys$0().length;
|
| + return t1 > 0;
|
| + },
|
| + $indexSet: function(_, key, value) {
|
| + var processed, original;
|
| + if (this._processed == null)
|
| + this._data.$indexSet(0, key, value);
|
| + else if (this.containsKey$1(key)) {
|
| + processed = this._processed;
|
| + processed[key] = value;
|
| + original = this._original;
|
| + if (original == null ? processed != null : original !== processed)
|
| + original[key] = null;
|
| + } else
|
| + this._upgrade$0().$indexSet(0, key, value);
|
| + },
|
| + containsKey$1: function(key) {
|
| + if (this._processed == null)
|
| + return this._data.containsKey$1(key);
|
| + if (typeof key !== "string")
|
| + return false;
|
| + return Object.prototype.hasOwnProperty.call(this._original, key);
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var keys, i, key, value;
|
| + 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));
|
| + }
|
| + },
|
| + toString$0: function(_) {
|
| + return P.Maps_mapToString(this);
|
| + },
|
| + _computeKeys$0: function() {
|
| + var keys = this._data;
|
| + if (keys == null) {
|
| + keys = Object.keys(this._original);
|
| + this._data = keys;
|
| + }
|
| + return keys;
|
| + },
|
| + _upgrade$0: function() {
|
| + var result, keys, i, t1, key;
|
| + if (this._processed == null)
|
| + return this._data;
|
| + result = P.LinkedHashMap_LinkedHashMap$_empty(null, null);
|
| + keys = this._computeKeys$0();
|
| + for (i = 0; t1 = keys.length, i < t1; ++i) {
|
| + key = keys[i];
|
| + result.$indexSet(0, key, this.$index(0, key));
|
| + }
|
| + if (t1 === 0)
|
| + keys.push(null);
|
| + else
|
| + C.JSArray_methods.set$length(keys, 0);
|
| + this._processed = null;
|
| + this._original = null;
|
| + this._data = result;
|
| + return result;
|
| + },
|
| + _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;
|
| + },
|
| + $isMap: 1,
|
| + $asMap: $.functionThatReturnsNull
|
| + },
|
| + Codec: {
|
| + "^": "Object;"
|
| + },
|
| + Converter: {
|
| + "^": "Object;"
|
| + },
|
| + Encoding: {
|
| + "^": "Codec;"
|
| + },
|
| + JsonUnsupportedObjectError: {
|
| + "^": "Error;unsupportedObject,cause",
|
| + toString$0: function(_) {
|
| + if (this.cause != null)
|
| + return "Converting object to an encodable object failed.";
|
| + else
|
| + return "Converting object did not return an encodable object.";
|
| + },
|
| + static: {JsonUnsupportedObjectError$: function(unsupportedObject, cause) {
|
| + return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
|
| + }}
|
| + },
|
| + JsonCyclicError: {
|
| + "^": "JsonUnsupportedObjectError;unsupportedObject,cause",
|
| + toString$0: function(_) {
|
| + return "Cyclic error in JSON stringify";
|
| + }
|
| + },
|
| + JsonCodec: {
|
| + "^": "Codec;_reviver,_toEncodable",
|
| + decode$2$reviver: function(source, reviver) {
|
| + return P._parseJson(source, this.get$decoder()._reviver);
|
| + },
|
| + decode$1: function(source) {
|
| + return this.decode$2$reviver(source, null);
|
| + },
|
| + encode$2$toEncodable: function(value, toEncodable) {
|
| + var t1 = this.get$encoder();
|
| + return P._JsonStringStringifier_stringify(value, t1._toEncodable, t1.indent);
|
| + },
|
| + encode$1: function(value) {
|
| + return this.encode$2$toEncodable(value, null);
|
| + },
|
| + get$encoder: function() {
|
| + return C.JsonEncoder_null_null;
|
| + },
|
| + get$decoder: function() {
|
| + return C.JsonDecoder_null;
|
| + }
|
| + },
|
| + JsonEncoder: {
|
| + "^": "Converter;indent,_toEncodable"
|
| + },
|
| + JsonDecoder: {
|
| + "^": "Converter;_reviver"
|
| + },
|
| + _JsonStringifier: {
|
| + "^": "Object;",
|
| + writeStringContent$1: function(s) {
|
| + var t1, $length, offset, i, charCode, t2;
|
| + t1 = J.getInterceptor$asx(s);
|
| + $length = t1.get$length(s);
|
| + if (typeof $length !== "number")
|
| + return H.iae($length);
|
| + offset = 0;
|
| + i = 0;
|
| + for (; i < $length; ++i) {
|
| + charCode = t1.codeUnitAt$1(s, i);
|
| + if (charCode > 92)
|
| + continue;
|
| + if (charCode < 32) {
|
| + if (i > offset)
|
| + this.writeStringSlice$3(s, offset, i);
|
| + offset = i + 1;
|
| + this.writeCharCode$1(92);
|
| + switch (charCode) {
|
| + case 8:
|
| + this.writeCharCode$1(98);
|
| + break;
|
| + case 9:
|
| + this.writeCharCode$1(116);
|
| + break;
|
| + case 10:
|
| + this.writeCharCode$1(110);
|
| + break;
|
| + case 12:
|
| + this.writeCharCode$1(102);
|
| + break;
|
| + case 13:
|
| + this.writeCharCode$1(114);
|
| + break;
|
| + default:
|
| + this.writeCharCode$1(117);
|
| + this.writeCharCode$1(48);
|
| + this.writeCharCode$1(48);
|
| + t2 = charCode >>> 4 & 15;
|
| + this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
|
| + t2 = charCode & 15;
|
| + this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
|
| + break;
|
| + }
|
| + } else if (charCode === 34 || charCode === 92) {
|
| + if (i > offset)
|
| + this.writeStringSlice$3(s, offset, i);
|
| + offset = i + 1;
|
| + this.writeCharCode$1(92);
|
| + this.writeCharCode$1(charCode);
|
| + }
|
| + }
|
| + if (offset === 0)
|
| + this.writeString$1(s);
|
| + else if (offset < $length)
|
| + this.writeStringSlice$3(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));
|
| + }
|
| + t1.push(object);
|
| + },
|
| + _removeSeen$1: function(object) {
|
| + var t1 = this._seen;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + },
|
| + writeObject$1: function(object) {
|
| + var customJson, e, t1, exception;
|
| + if (this.writeJsonValue$1(object))
|
| + return;
|
| + this._checkCycle$1(object);
|
| + try {
|
| + customJson = this._toEncodable$1(object);
|
| + if (!this.writeJsonValue$1(customJson)) {
|
| + t1 = P.JsonUnsupportedObjectError$(object, null);
|
| + throw H.wrapException(t1);
|
| + }
|
| + t1 = this._seen;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + throw H.wrapException(P.JsonUnsupportedObjectError$(object, e));
|
| + }
|
| + },
|
| + writeJsonValue$1: function(object) {
|
| + var t1;
|
| + if (typeof object === "number") {
|
| + if (!C.JSNumber_methods.get$isFinite(object))
|
| + return false;
|
| + this.writeNumber$1(object);
|
| + return true;
|
| + } else if (object === true) {
|
| + this.writeString$1("true");
|
| + return true;
|
| + } else if (object === false) {
|
| + this.writeString$1("false");
|
| + return true;
|
| + } else if (object == null) {
|
| + this.writeString$1("null");
|
| + return true;
|
| + } else if (typeof object === "string") {
|
| + this.writeString$1("\"");
|
| + this.writeStringContent$1(object);
|
| + this.writeString$1("\"");
|
| + return true;
|
| + } else {
|
| + t1 = J.getInterceptor(object);
|
| + if (!!t1.$isList) {
|
| + this._checkCycle$1(object);
|
| + this.writeList$1(object);
|
| + this._removeSeen$1(object);
|
| + return true;
|
| + } else if (!!t1.$isMap) {
|
| + this._checkCycle$1(object);
|
| + this.writeMap$1(object);
|
| + this._removeSeen$1(object);
|
| + return true;
|
| + } else
|
| + return false;
|
| + }
|
| + },
|
| + writeList$1: function(list) {
|
| + var t1, i;
|
| + this.writeString$1("[");
|
| + t1 = J.getInterceptor$asx(list);
|
| + if (t1.get$length(list) > 0) {
|
| + this.writeObject$1(t1.$index(list, 0));
|
| + for (i = 1; i < t1.get$length(list); ++i) {
|
| + this.writeString$1(",");
|
| + this.writeObject$1(t1.$index(list, i));
|
| + }
|
| + }
|
| + this.writeString$1("]");
|
| + },
|
| + writeMap$1: function(map) {
|
| + var t1 = {};
|
| + this.writeString$1("{");
|
| + t1.separator_0 = "\"";
|
| + map.forEach$1(0, new P._JsonStringifier_writeMap_closure(t1, this));
|
| + this.writeString$1("}");
|
| + },
|
| + _toEncodable$1: function(arg0) {
|
| + return this._toEncodable.call$1(arg0);
|
| + }
|
| + },
|
| + _JsonStringifier_writeMap_closure: {
|
| + "^": "Closure:16;box_0,this_1",
|
| + call$2: function(key, value) {
|
| + var t1, t2;
|
| + t1 = this.this_1;
|
| + t2 = this.box_0;
|
| + t1.writeString$1(t2.separator_0);
|
| + t2.separator_0 = ",\"";
|
| + t1.writeStringContent$1(key);
|
| + t1.writeString$1("\":");
|
| + t1.writeObject$1(value);
|
| + }
|
| + },
|
| + _JsonStringStringifier: {
|
| + "^": "_JsonStringifier;_sink,_seen,_toEncodable",
|
| + writeNumber$1: function(number) {
|
| + this._sink._contents += C.JSNumber_methods.toString$0(number);
|
| + },
|
| + writeString$1: function(string) {
|
| + this._sink._contents += H.S(string);
|
| + },
|
| + writeStringSlice$3: function(string, start, end) {
|
| + this._sink._contents += J.substring$2$s(string, start, end);
|
| + },
|
| + writeCharCode$1: function(charCode) {
|
| + this._sink._contents += H.Primitives_stringFromCharCode(charCode);
|
| + },
|
| + static: {_JsonStringStringifier_stringify: function(object, toEncodable, indent) {
|
| + var output, t1, stringifier;
|
| + output = new P.StringBuffer("");
|
| + t1 = P._defaultToEncodable$closure();
|
| + stringifier = new P._JsonStringStringifier(output, [], t1);
|
| + stringifier.writeObject$1(object);
|
| + t1 = output._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }}
|
| + },
|
| + Utf8Codec: {
|
| + "^": "Encoding;_allowMalformed",
|
| + get$encoder: function() {
|
| + return new P.Utf8Encoder();
|
| + }
|
| + },
|
| + Utf8Encoder: {
|
| + "^": "Converter;",
|
| + convert$3: function(string, start, end) {
|
| + var t1, stringLength, t2, $length, t3, encoder;
|
| + t1 = J.getInterceptor$asx(string);
|
| + stringLength = t1.get$length(string);
|
| + P.RangeError_checkValidRange(start, end, stringLength, null, null, null);
|
| + t2 = J.getInterceptor$n(stringLength);
|
| + $length = t2.$sub(stringLength, start);
|
| + t3 = J.getInterceptor($length);
|
| + if (t3.$eq($length, 0))
|
| + return new Uint8Array(0);
|
| + t3 = t3.$mul($length, 3);
|
| + if (typeof t3 !== "number" || Math.floor(t3) !== t3)
|
| + H.throwExpression(P.ArgumentError$("Invalid length " + H.S(t3)));
|
| + t3 = new Uint8Array(t3);
|
| + encoder = new P._Utf8Encoder(0, 0, t3);
|
| + if (encoder._fillBuffer$3(string, start, stringLength) !== stringLength)
|
| + encoder._writeSurrogate$2(t1.codeUnitAt$1(string, t2.$sub(stringLength, 1)), 0);
|
| + return new Uint8Array(t3.subarray(0, C.NativeUint8List_methods._checkSublistArguments$3(t3, 0, encoder._bufferIndex, t3.length)));
|
| + },
|
| + convert$1: function(string) {
|
| + return this.convert$3(string, 0, null);
|
| + }
|
| + },
|
| + _Utf8Encoder: {
|
| + "^": "Object;_carry,_bufferIndex,_buffer",
|
| + _writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) {
|
| + var t1, t2, rune, t3, t4;
|
| + t1 = this._buffer;
|
| + t2 = this._bufferIndex;
|
| + if ((nextCodeUnit & 64512) === 56320) {
|
| + rune = 65536 + ((leadingSurrogate & 1023) << 10 >>> 0) | nextCodeUnit & 1023;
|
| + t3 = t2 + 1;
|
| + this._bufferIndex = t3;
|
| + t4 = t1.length;
|
| + if (t2 >= t4)
|
| + return H.ioore(t1, t2);
|
| + t1[t2] = (240 | rune >>> 18) >>> 0;
|
| + t2 = t3 + 1;
|
| + this._bufferIndex = t2;
|
| + if (t3 >= t4)
|
| + return H.ioore(t1, t3);
|
| + t1[t3] = 128 | rune >>> 12 & 63;
|
| + t3 = t2 + 1;
|
| + this._bufferIndex = t3;
|
| + if (t2 >= t4)
|
| + return H.ioore(t1, t2);
|
| + t1[t2] = 128 | rune >>> 6 & 63;
|
| + this._bufferIndex = t3 + 1;
|
| + if (t3 >= t4)
|
| + return H.ioore(t1, t3);
|
| + t1[t3] = 128 | rune & 63;
|
| + return true;
|
| + } else {
|
| + t3 = t2 + 1;
|
| + this._bufferIndex = t3;
|
| + t4 = t1.length;
|
| + if (t2 >= t4)
|
| + return H.ioore(t1, t2);
|
| + t1[t2] = 224 | leadingSurrogate >>> 12;
|
| + t2 = t3 + 1;
|
| + this._bufferIndex = t2;
|
| + if (t3 >= t4)
|
| + return H.ioore(t1, t3);
|
| + t1[t3] = 128 | leadingSurrogate >>> 6 & 63;
|
| + this._bufferIndex = t2 + 1;
|
| + if (t2 >= t4)
|
| + return H.ioore(t1, t2);
|
| + t1[t2] = 128 | leadingSurrogate & 63;
|
| + return false;
|
| + }
|
| + },
|
| + _fillBuffer$3: function(str, start, end) {
|
| + var t1, t2, t3, stringIndex, codeUnit, t4, stringIndex0, t5;
|
| + if (start !== end && (J.codeUnitAt$1$s(str, J.$sub$n(end, 1)) & 64512) === 55296)
|
| + end = J.$sub$n(end, 1);
|
| + if (typeof end !== "number")
|
| + return H.iae(end);
|
| + t1 = this._buffer;
|
| + t2 = t1.length;
|
| + t3 = J.getInterceptor$s(str);
|
| + stringIndex = start;
|
| + for (; stringIndex < end; ++stringIndex) {
|
| + codeUnit = t3.codeUnitAt$1(str, stringIndex);
|
| + if (codeUnit <= 127) {
|
| + t4 = this._bufferIndex;
|
| + if (t4 >= t2)
|
| + break;
|
| + this._bufferIndex = t4 + 1;
|
| + t1[t4] = codeUnit;
|
| + } else if ((codeUnit & 64512) === 55296) {
|
| + if (this._bufferIndex + 3 >= t2)
|
| + break;
|
| + stringIndex0 = stringIndex + 1;
|
| + if (this._writeSurrogate$2(codeUnit, C.JSString_methods.codeUnitAt$1(str, stringIndex0)))
|
| + stringIndex = stringIndex0;
|
| + } else if (codeUnit <= 2047) {
|
| + t4 = this._bufferIndex;
|
| + t5 = t4 + 1;
|
| + if (t5 >= t2)
|
| + break;
|
| + this._bufferIndex = t5;
|
| + if (t4 >= t2)
|
| + return H.ioore(t1, t4);
|
| + t1[t4] = 192 | codeUnit >>> 6;
|
| + this._bufferIndex = t5 + 1;
|
| + t1[t5] = 128 | codeUnit & 63;
|
| + } else {
|
| + t4 = this._bufferIndex;
|
| + if (t4 + 2 >= t2)
|
| + break;
|
| + t5 = t4 + 1;
|
| + this._bufferIndex = t5;
|
| + if (t4 >= t2)
|
| + return H.ioore(t1, t4);
|
| + t1[t4] = 224 | codeUnit >>> 12;
|
| + t4 = t5 + 1;
|
| + this._bufferIndex = t4;
|
| + if (t5 >= t2)
|
| + return H.ioore(t1, t5);
|
| + t1[t5] = 128 | codeUnit >>> 6 & 63;
|
| + this._bufferIndex = t4 + 1;
|
| + if (t4 >= t2)
|
| + return H.ioore(t1, t4);
|
| + t1[t4] = 128 | codeUnit & 63;
|
| + }
|
| + }
|
| + return stringIndex;
|
| + }
|
| + },
|
| + Utf8Decoder: {
|
| + "^": "Converter;_allowMalformed",
|
| + convert$3: function(codeUnits, start, end) {
|
| + var $length, buffer, decoder, t1;
|
| + $length = J.get$length$asx(codeUnits);
|
| + P.RangeError_checkValidRange(start, end, $length, null, null, null);
|
| + buffer = new P.StringBuffer("");
|
| + decoder = new P._Utf8Decoder(this._allowMalformed, buffer, true, 0, 0, 0);
|
| + decoder.convert$3(codeUnits, start, $length);
|
| + decoder.flush$0();
|
| + t1 = buffer._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + convert$1: function(codeUnits) {
|
| + return this.convert$3(codeUnits, 0, null);
|
| + }
|
| + },
|
| + _Utf8Decoder: {
|
| + "^": "Object;_allowMalformed,_stringSink,_isFirstCharacter,_value,_expectedUnits,_extraUnits",
|
| + close$0: function(_) {
|
| + this.flush$0();
|
| + },
|
| + flush$0: function() {
|
| + if (this._expectedUnits > 0) {
|
| + if (!this._allowMalformed)
|
| + throw H.wrapException(P.FormatException$("Unfinished UTF-8 octet sequence", null, null));
|
| + this._stringSink._contents += H.Primitives_stringFromCharCode(65533);
|
| + this._value = 0;
|
| + this._expectedUnits = 0;
|
| + this._extraUnits = 0;
|
| + }
|
| + },
|
| + convert$3: function(codeUnits, startIndex, endIndex) {
|
| + var value, expectedUnits, extraUnits, t1, t2, t3, t4, t5, i, unit, t6, oneBytes, i0;
|
| + value = this._value;
|
| + expectedUnits = this._expectedUnits;
|
| + extraUnits = this._extraUnits;
|
| + this._value = 0;
|
| + this._expectedUnits = 0;
|
| + this._extraUnits = 0;
|
| + t1 = new P._Utf8Decoder_convert_scanOneByteCharacters(endIndex);
|
| + t2 = new P._Utf8Decoder_convert_addSingleBytes(this, codeUnits, startIndex, endIndex);
|
| + $loop$0:
|
| + for (t3 = this._stringSink, t4 = !this._allowMalformed, t5 = J.getInterceptor$asx(codeUnits), i = startIndex; true; i = i0) {
|
| + $multibyte$2:
|
| + if (expectedUnits > 0) {
|
| + do {
|
| + if (i === endIndex)
|
| + break $loop$0;
|
| + unit = t5.$index(codeUnits, i);
|
| + if (typeof unit !== "number")
|
| + return unit.$and();
|
| + if ((unit & 192) !== 128) {
|
| + if (t4)
|
| + throw H.wrapException(P.FormatException$("Bad UTF-8 encoding 0x" + C.JSNumber_methods.toRadixString$1(unit, 16), null, null));
|
| + this._isFirstCharacter = false;
|
| + t3._contents += H.Primitives_stringFromCharCode(65533);
|
| + expectedUnits = 0;
|
| + break $multibyte$2;
|
| + } else {
|
| + value = (value << 6 | unit & 63) >>> 0;
|
| + --expectedUnits;
|
| + ++i;
|
| + }
|
| + } while (expectedUnits > 0);
|
| + t6 = extraUnits - 1;
|
| + if (t6 < 0 || t6 >= 4)
|
| + return H.ioore(C.List_127_2047_65535_1114111, t6);
|
| + if (value <= C.List_127_2047_65535_1114111[t6]) {
|
| + if (t4)
|
| + throw H.wrapException(P.FormatException$("Overlong encoding of 0x" + C.JSInt_methods.toRadixString$1(value, 16), null, null));
|
| + value = 65533;
|
| + expectedUnits = 0;
|
| + extraUnits = 0;
|
| + }
|
| + if (value > 1114111) {
|
| + if (t4)
|
| + throw H.wrapException(P.FormatException$("Character outside valid Unicode range: 0x" + C.JSInt_methods.toRadixString$1(value, 16), null, null));
|
| + value = 65533;
|
| + }
|
| + if (!this._isFirstCharacter || value !== 65279)
|
| + t3._contents += H.Primitives_stringFromCharCode(value);
|
| + this._isFirstCharacter = false;
|
| + }
|
| + for (; i < endIndex; i = i0) {
|
| + oneBytes = t1.call$2(codeUnits, i);
|
| + if (J.$gt$n(oneBytes, 0)) {
|
| + this._isFirstCharacter = false;
|
| + if (typeof oneBytes !== "number")
|
| + return H.iae(oneBytes);
|
| + i0 = i + oneBytes;
|
| + t2.call$2(i, i0);
|
| + if (i0 === endIndex)
|
| + break;
|
| + i = i0;
|
| + }
|
| + i0 = i + 1;
|
| + unit = t5.$index(codeUnits, i);
|
| + t6 = J.getInterceptor$n(unit);
|
| + if (t6.$lt(unit, 0)) {
|
| + if (t4)
|
| + throw H.wrapException(P.FormatException$("Negative UTF-8 code unit: -0x" + J.toRadixString$1$n(t6.$negate(unit), 16), null, null));
|
| + t3._contents += H.Primitives_stringFromCharCode(65533);
|
| + } else {
|
| + if (typeof unit !== "number")
|
| + return unit.$and();
|
| + if ((unit & 224) === 192) {
|
| + value = unit & 31;
|
| + expectedUnits = 1;
|
| + extraUnits = 1;
|
| + continue $loop$0;
|
| + }
|
| + if ((unit & 240) === 224) {
|
| + value = unit & 15;
|
| + expectedUnits = 2;
|
| + extraUnits = 2;
|
| + continue $loop$0;
|
| + }
|
| + if ((unit & 248) === 240 && unit < 245) {
|
| + value = unit & 7;
|
| + expectedUnits = 3;
|
| + extraUnits = 3;
|
| + continue $loop$0;
|
| + }
|
| + if (t4)
|
| + throw H.wrapException(P.FormatException$("Bad UTF-8 encoding 0x" + C.JSNumber_methods.toRadixString$1(unit, 16), null, null));
|
| + this._isFirstCharacter = false;
|
| + t3._contents += H.Primitives_stringFromCharCode(65533);
|
| + value = 65533;
|
| + expectedUnits = 0;
|
| + extraUnits = 0;
|
| + }
|
| + }
|
| + break $loop$0;
|
| + }
|
| + if (expectedUnits > 0) {
|
| + this._value = value;
|
| + this._expectedUnits = expectedUnits;
|
| + this._extraUnits = extraUnits;
|
| + }
|
| + }
|
| + },
|
| + _Utf8Decoder_convert_scanOneByteCharacters: {
|
| + "^": "Closure:17;endIndex_0",
|
| + call$2: function(units, from) {
|
| + var to, t1, i, unit;
|
| + to = this.endIndex_0;
|
| + for (t1 = J.getInterceptor$asx(units), i = from; i < to; ++i) {
|
| + unit = t1.$index(units, i);
|
| + if (typeof unit !== "number")
|
| + return unit.$and();
|
| + if ((unit & 127) !== unit)
|
| + return i - from;
|
| + }
|
| + return to - from;
|
| + }
|
| + },
|
| + _Utf8Decoder_convert_addSingleBytes: {
|
| + "^": "Closure:18;this_1,codeUnits_2,startIndex_3,endIndex_4",
|
| + call$2: function(from, to) {
|
| + this.this_1._stringSink._contents += P.String_String$fromCharCodes(this.codeUnits_2, from, to);
|
| + }
|
| + }
|
| +}],
|
| +["dart.core", "dart:core", , P, {
|
| + "^": "",
|
| + _symbolToString: function(symbol) {
|
| + return H.Symbol_getName(symbol);
|
| + },
|
| + String__checkBounds: function(len, start, end) {
|
| + if (start < 0 || start > len)
|
| + throw H.wrapException(P.RangeError$range(start, 0, len, null, null));
|
| + if (end == null)
|
| + end = len;
|
| + else if (end < start || end > len)
|
| + throw H.wrapException(P.RangeError$range(end, start, len, null, null));
|
| + return end;
|
| + },
|
| + String__stringFromIterable: function(charCodes, start, end) {
|
| + var t1, it, i, list;
|
| + if (start < 0)
|
| + throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(charCodes), null, null));
|
| + t1 = end == null;
|
| + if (!t1 && end < start)
|
| + throw H.wrapException(P.RangeError$range(end, start, J.get$length$asx(charCodes), null, null));
|
| + it = J.get$iterator$ax(charCodes);
|
| + for (i = 0; i < start; ++i)
|
| + if (!it.moveNext$0())
|
| + throw H.wrapException(P.RangeError$range(start, 0, i, null, null));
|
| + list = [];
|
| + if (t1)
|
| + for (; it.moveNext$0();)
|
| + list.push(it._current);
|
| + else
|
| + for (i = start; i < end; ++i) {
|
| + if (!it.moveNext$0())
|
| + throw H.wrapException(P.RangeError$range(end, start, i, null, null));
|
| + list.push(it._current);
|
| + }
|
| + return H.Primitives_stringFromCharCodes(list);
|
| + },
|
| + 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 "Instance of '" + H.Primitives_objectTypeName(object) + "'";
|
| + },
|
| + Exception_Exception: function(message) {
|
| + return new P._ExceptionImplementation(message);
|
| + },
|
| + identical: [function(a, b) {
|
| + return a == null ? b == null : a === b;
|
| + }, "call$2", "identical$closure", 4, 0, 46],
|
| + identityHashCode: [function(object) {
|
| + return H.objectHashCode(object);
|
| + }, "call$1", "identityHashCode$closure", 2, 0, 47],
|
| + List_List$filled: function($length, fill, $E) {
|
| + var result, t1, i;
|
| + result = J.JSArray_JSArray$fixed($length, $E);
|
| + if ($length !== 0 && true)
|
| + for (t1 = result.length, i = 0; i < t1; ++i)
|
| + result[i] = fill;
|
| + return result;
|
| + },
|
| + List_List$from: function(elements, growable, $E) {
|
| + var list, t1;
|
| + list = H.setRuntimeTypeInfo([], [$E]);
|
| + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
|
| + list.push(t1.get$current());
|
| + if (growable)
|
| + return list;
|
| + list.fixed$length = Array;
|
| + return list;
|
| + },
|
| + List_List$generate: function($length, generator, growable, $E) {
|
| + var result, t1, i;
|
| + if (growable) {
|
| + result = H.setRuntimeTypeInfo([], [$E]);
|
| + C.JSArray_methods.set$length(result, $length);
|
| + } else {
|
| + t1 = Array($length);
|
| + t1.fixed$length = Array;
|
| + result = H.setRuntimeTypeInfo(t1, [$E]);
|
| + }
|
| + for (i = 0; i < $length; ++i) {
|
| + t1 = generator.call$1(i);
|
| + if (i >= result.length)
|
| + return H.ioore(result, i);
|
| + result[i] = t1;
|
| + }
|
| + return result;
|
| + },
|
| + print: function(object) {
|
| + var line, t1;
|
| + line = H.S(object);
|
| + t1 = $.printToZone;
|
| + if (t1 == null)
|
| + H.printString(line);
|
| + else
|
| + t1.call$1(line);
|
| + },
|
| + RegExp_RegExp: function(source, caseSensitive, multiLine) {
|
| + return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false), null, null);
|
| + },
|
| + String_String$fromCharCodes: function(charCodes, start, end) {
|
| + var len;
|
| + if (charCodes.constructor === Array) {
|
| + len = charCodes.length;
|
| + end = P.String__checkBounds(len, start, end);
|
| + return H.Primitives_stringFromCharCodes(start > 0 || end < len ? C.JSArray_methods.sublist$2(charCodes, start, end) : charCodes);
|
| + }
|
| + return P.String__stringFromIterable(charCodes, start, end);
|
| + },
|
| + String_String$fromCharCode: function(charCode) {
|
| + return H.Primitives_stringFromCharCode(charCode);
|
| + },
|
| + NoSuchMethodError_toString_closure: {
|
| + "^": "Closure:19;box_0",
|
| + call$2: function(key, value) {
|
| + var t1 = this.box_0;
|
| + if (t1.i_1 > 0)
|
| + t1.sb_0._contents += ", ";
|
| + P._symbolToString(key);
|
| + }
|
| + },
|
| + bool: {
|
| + "^": "Object;"
|
| + },
|
| + "+bool": 0,
|
| + DateTime: {
|
| + "^": "Object;millisecondsSinceEpoch,isUtc",
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + if (!(other instanceof P.DateTime))
|
| + return false;
|
| + return this.millisecondsSinceEpoch === other.millisecondsSinceEpoch && this.isUtc === other.isUtc;
|
| + },
|
| + get$hashCode: function(_) {
|
| + return this.millisecondsSinceEpoch;
|
| + },
|
| + toString$0: function(_) {
|
| + var t1, y, m, d, h, min, sec, ms;
|
| + t1 = this.isUtc;
|
| + y = P.DateTime__fourDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCFullYear() + 0 : H.Primitives_lazyAsJsDate(this).getFullYear() + 0);
|
| + m = P.DateTime__twoDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCMonth() + 1 : H.Primitives_lazyAsJsDate(this).getMonth() + 1);
|
| + d = P.DateTime__twoDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCDate() + 0 : H.Primitives_lazyAsJsDate(this).getDate() + 0);
|
| + h = P.DateTime__twoDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCHours() + 0 : H.Primitives_lazyAsJsDate(this).getHours() + 0);
|
| + min = P.DateTime__twoDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCMinutes() + 0 : H.Primitives_lazyAsJsDate(this).getMinutes() + 0);
|
| + sec = P.DateTime__twoDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCSeconds() + 0 : H.Primitives_lazyAsJsDate(this).getSeconds() + 0);
|
| + ms = P.DateTime__threeDigits(t1 ? H.Primitives_lazyAsJsDate(this).getUTCMilliseconds() + 0 : H.Primitives_lazyAsJsDate(this).getMilliseconds() + 0);
|
| + if (t1)
|
| + return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z";
|
| + else
|
| + return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
|
| + },
|
| + add$1: function(_, duration) {
|
| + return P.DateTime$fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch + duration.get$inMilliseconds(), this.isUtc);
|
| + },
|
| + DateTime$fromMillisecondsSinceEpoch$2$isUtc: function(millisecondsSinceEpoch, isUtc) {
|
| + if (Math.abs(millisecondsSinceEpoch) > 864e13)
|
| + throw H.wrapException(P.ArgumentError$(millisecondsSinceEpoch));
|
| + },
|
| + static: {DateTime$fromMillisecondsSinceEpoch: function(millisecondsSinceEpoch, isUtc) {
|
| + var t1 = new P.DateTime(millisecondsSinceEpoch, isUtc);
|
| + t1.DateTime$fromMillisecondsSinceEpoch$2$isUtc(millisecondsSinceEpoch, isUtc);
|
| + return t1;
|
| + }, DateTime__fourDigits: function(n) {
|
| + var absN, sign;
|
| + absN = Math.abs(n);
|
| + sign = n < 0 ? "-" : "";
|
| + if (absN >= 1000)
|
| + return "" + n;
|
| + if (absN >= 100)
|
| + return sign + "0" + H.S(absN);
|
| + if (absN >= 10)
|
| + return sign + "00" + H.S(absN);
|
| + return sign + "000" + H.S(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;
|
| + }}
|
| + },
|
| + $double: {
|
| + "^": "num;"
|
| + },
|
| + "+double": 0,
|
| + Duration: {
|
| + "^": "Object;_duration<",
|
| + $add: function(_, other) {
|
| + return new P.Duration(C.JSInt_methods.$add(this._duration, other.get$_duration()));
|
| + },
|
| + $sub: function(_, other) {
|
| + return new P.Duration(this._duration - other.get$_duration());
|
| + },
|
| + $mul: function(_, factor) {
|
| + return new P.Duration(C.JSInt_methods.round$0(this._duration * factor));
|
| + },
|
| + $lt: function(_, other) {
|
| + return this._duration < other.get$_duration();
|
| + },
|
| + $gt: function(_, other) {
|
| + return this._duration > other.get$_duration();
|
| + },
|
| + $ge: function(_, other) {
|
| + return C.JSInt_methods.$ge(this._duration, other.get$_duration());
|
| + },
|
| + get$inMilliseconds: function() {
|
| + return C.JSInt_methods._tdivFast$1(this._duration, 1000);
|
| + },
|
| + $eq: function(_, other) {
|
| + if (other == null)
|
| + return false;
|
| + if (!(other instanceof P.Duration))
|
| + return false;
|
| + return this._duration === other._duration;
|
| + },
|
| + get$hashCode: function(_) {
|
| + return this._duration & 0x1FFFFFFF;
|
| + },
|
| + toString$0: function(_) {
|
| + var t1, t2, twoDigitMinutes, twoDigitSeconds, sixDigitUs;
|
| + t1 = new P.Duration_toString_twoDigits();
|
| + t2 = this._duration;
|
| + if (t2 < 0)
|
| + return "-" + new P.Duration(-t2).toString$0(0);
|
| + twoDigitMinutes = t1.call$1(C.JSInt_methods.remainder$1(C.JSInt_methods._tdivFast$1(t2, 60000000), 60));
|
| + twoDigitSeconds = t1.call$1(C.JSInt_methods.remainder$1(C.JSInt_methods._tdivFast$1(t2, 1000000), 60));
|
| + sixDigitUs = new P.Duration_toString_sixDigits().call$1(C.JSInt_methods.remainder$1(t2, 1000000));
|
| + return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
|
| + },
|
| + $negate: function(_) {
|
| + return new P.Duration(-this._duration);
|
| + }
|
| + },
|
| + Duration_toString_sixDigits: {
|
| + "^": "Closure:20;",
|
| + 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;
|
| + }
|
| + },
|
| + Duration_toString_twoDigits: {
|
| + "^": "Closure:20;",
|
| + call$1: function(n) {
|
| + if (n >= 10)
|
| + return "" + n;
|
| + return "0" + n;
|
| + }
|
| + },
|
| + Error: {
|
| + "^": "Object;",
|
| + get$stackTrace: function() {
|
| + return H.getTraceFromException(this.$thrownJsError);
|
| + }
|
| + },
|
| + NullThrownError: {
|
| + "^": "Error;",
|
| + toString$0: function(_) {
|
| + return "Throw of null.";
|
| + }
|
| + },
|
| + ArgumentError: {
|
| + "^": "Error;_hasValue,invalidValue,name,message>",
|
| + get$_errorName: function() {
|
| + return "Invalid argument" + (!this._hasValue ? "(s)" : "");
|
| + },
|
| + get$_errorExplanation: function() {
|
| + return "";
|
| + },
|
| + toString$0: function(_) {
|
| + var t1, nameString, message, prefix, explanation, errorValue;
|
| + t1 = this.name;
|
| + nameString = t1 != null ? " (" + H.S(t1) + ")" : "";
|
| + t1 = this.message;
|
| + message = t1 == null ? "" : ": " + H.S(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 + ": " + H.S(errorValue);
|
| + },
|
| + static: {ArgumentError$: function(message) {
|
| + return new P.ArgumentError(false, null, null, message);
|
| + }}
|
| + },
|
| + RangeError: {
|
| + "^": "ArgumentError;start>,end<,_hasValue,invalidValue,name,message",
|
| + get$_errorName: function() {
|
| + return "RangeError";
|
| + },
|
| + get$_errorExplanation: function() {
|
| + var t1, explanation, t2, t3;
|
| + 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 {
|
| + t3 = J.getInterceptor$n(t2);
|
| + if (t3.$gt(t2, t1))
|
| + explanation = ": Not in range " + H.S(t1) + ".." + H.S(t2) + ", inclusive";
|
| + else
|
| + explanation = t3.$lt(t2, t1) ? ": Valid value range is empty" : ": Only valid value is " + H.S(t1);
|
| + }
|
| + }
|
| + return explanation;
|
| + },
|
| + static: {RangeError$: function(message) {
|
| + return new P.RangeError(null, null, false, null, null, message);
|
| + }, RangeError$value: function(value, $name, message) {
|
| + 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_checkValueInInterval: function(value, minValue, maxValue, $name, message) {
|
| + if (value < minValue || value > maxValue)
|
| + throw H.wrapException(P.RangeError$range(value, minValue, maxValue, $name, message));
|
| + }, RangeError_checkValidRange: function(start, end, $length, startName, endName, message) {
|
| + var t1;
|
| + if (start >= 0) {
|
| + if (typeof $length !== "number")
|
| + return H.iae($length);
|
| + t1 = start > $length;
|
| + } else
|
| + t1 = true;
|
| + if (t1)
|
| + throw H.wrapException(P.RangeError$range(start, 0, $length, "start", message));
|
| + if (end != null) {
|
| + if (!(end < start)) {
|
| + if (typeof $length !== "number")
|
| + return H.iae($length);
|
| + t1 = end > $length;
|
| + } else
|
| + t1 = true;
|
| + if (t1)
|
| + throw H.wrapException(P.RangeError$range(end, start, $length, "end", message));
|
| + return end;
|
| + }
|
| + return $length;
|
| + }}
|
| + },
|
| + IndexError: {
|
| + "^": "ArgumentError;indexable,length>,_hasValue,invalidValue,name,message",
|
| + get$start: function(_) {
|
| + return 0;
|
| + },
|
| + get$end: function() {
|
| + return J.$sub$n(this.length, 1);
|
| + },
|
| + get$_errorName: function() {
|
| + return "RangeError";
|
| + },
|
| + get$_errorExplanation: function() {
|
| + P.Error_safeToString(this.indexable);
|
| + var explanation = ": index should be less than " + H.S(this.length);
|
| + return J.$lt$n(this.invalidValue, 0) ? ": index must not be negative" : explanation;
|
| + },
|
| + static: {IndexError$: function(invalidValue, indexable, $name, message, $length) {
|
| + var t1 = $length != null ? $length : J.get$length$asx(indexable);
|
| + return new P.IndexError(indexable, t1, true, invalidValue, $name, "Index out of range");
|
| + }}
|
| + },
|
| + UnsupportedError: {
|
| + "^": "Error;message>",
|
| + toString$0: function(_) {
|
| + return "Unsupported operation: " + this.message;
|
| + },
|
| + static: {UnsupportedError$: function(message) {
|
| + return new P.UnsupportedError(message);
|
| + }}
|
| + },
|
| + UnimplementedError: {
|
| + "^": "Error;message>",
|
| + toString$0: function(_) {
|
| + var t1 = this.message;
|
| + return t1 != null ? "UnimplementedError: " + H.S(t1) : "UnimplementedError";
|
| + },
|
| + static: {UnimplementedError$: function(message) {
|
| + return new P.UnimplementedError(message);
|
| + }}
|
| + },
|
| + StateError: {
|
| + "^": "Error;message>",
|
| + toString$0: function(_) {
|
| + return "Bad state: " + this.message;
|
| + },
|
| + static: {StateError$: function(message) {
|
| + return new P.StateError(message);
|
| + }}
|
| + },
|
| + ConcurrentModificationError: {
|
| + "^": "Error;modifiedObject",
|
| + toString$0: function(_) {
|
| + return "Concurrent modification during iteration: " + H.S(P.Error_safeToString(this.modifiedObject)) + ".";
|
| + },
|
| + static: {ConcurrentModificationError$: function(modifiedObject) {
|
| + return new P.ConcurrentModificationError(modifiedObject);
|
| + }}
|
| + },
|
| + OutOfMemoryError: {
|
| + "^": "Object;",
|
| + toString$0: function(_) {
|
| + return "Out of Memory";
|
| + },
|
| + get$stackTrace: function() {
|
| + return;
|
| + },
|
| + $isError: 1
|
| + },
|
| + StackOverflowError: {
|
| + "^": "Object;",
|
| + toString$0: function(_) {
|
| + return "Stack Overflow";
|
| + },
|
| + get$stackTrace: function() {
|
| + return;
|
| + },
|
| + $isError: 1
|
| + },
|
| + CyclicInitializationError: {
|
| + "^": "Error;variableName",
|
| + toString$0: function(_) {
|
| + return "Reading static variable '" + this.variableName + "' during its initialization";
|
| + }
|
| + },
|
| + _ExceptionImplementation: {
|
| + "^": "Object;message>",
|
| + toString$0: function(_) {
|
| + var t1 = this.message;
|
| + if (t1 == null)
|
| + return "Exception";
|
| + return "Exception: " + H.S(t1);
|
| + }
|
| + },
|
| + FormatException: {
|
| + "^": "Object;message>,source,offset",
|
| + toString$0: function(_) {
|
| + var t1, report, offset, source, lineNum, lineStart, lastWasCR, i, $char, lineEnd, t2, end, start, prefix, postfix, slice;
|
| + t1 = this.message;
|
| + report = t1 != null && "" !== t1 ? "FormatException: " + H.S(t1) : "FormatException";
|
| + offset = this.offset;
|
| + source = this.source;
|
| + if (typeof source !== "string")
|
| + return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report;
|
| + if (offset != null) {
|
| + t1 = J.getInterceptor$n(offset);
|
| + t1 = t1.$lt(offset, 0) || t1.$gt(offset, J.get$length$asx(source));
|
| + } else
|
| + t1 = false;
|
| + if (t1)
|
| + offset = null;
|
| + if (offset == null) {
|
| + t1 = J.getInterceptor$asx(source);
|
| + if (J.$gt$n(t1.get$length(source), 78))
|
| + source = t1.substring$2(source, 0, 75) + "...";
|
| + return report + "\n" + H.S(source);
|
| + }
|
| + if (typeof offset !== "number")
|
| + return H.iae(offset);
|
| + t1 = J.getInterceptor$asx(source);
|
| + lineNum = 1;
|
| + lineStart = 0;
|
| + lastWasCR = null;
|
| + i = 0;
|
| + for (; i < offset; ++i) {
|
| + $char = t1.codeUnitAt$1(source, i);
|
| + if ($char === 10) {
|
| + if (lineStart !== i || lastWasCR !== true)
|
| + ++lineNum;
|
| + lineStart = i + 1;
|
| + lastWasCR = false;
|
| + } else if ($char === 13) {
|
| + ++lineNum;
|
| + lineStart = i + 1;
|
| + lastWasCR = true;
|
| + }
|
| + }
|
| + report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + H.S(offset - lineStart + 1) + ")\n") : report + (" (at character " + H.S(offset + 1) + ")\n");
|
| + lineEnd = t1.get$length(source);
|
| + i = offset;
|
| + while (true) {
|
| + t2 = t1.get$length(source);
|
| + if (typeof t2 !== "number")
|
| + return H.iae(t2);
|
| + if (!(i < t2))
|
| + break;
|
| + $char = t1.codeUnitAt$1(source, i);
|
| + if ($char === 10 || $char === 13) {
|
| + lineEnd = i;
|
| + break;
|
| + }
|
| + ++i;
|
| + }
|
| + t2 = J.getInterceptor$n(lineEnd);
|
| + if (J.$gt$n(t2.$sub(lineEnd, lineStart), 78))
|
| + if (offset - lineStart < 75) {
|
| + end = lineStart + 75;
|
| + start = lineStart;
|
| + prefix = "";
|
| + postfix = "...";
|
| + } else {
|
| + if (J.$lt$n(t2.$sub(lineEnd, offset), 75)) {
|
| + start = t2.$sub(lineEnd, 75);
|
| + end = lineEnd;
|
| + postfix = "";
|
| + } else {
|
| + start = offset - 36;
|
| + end = offset + 36;
|
| + postfix = "...";
|
| + }
|
| + prefix = "...";
|
| + }
|
| + else {
|
| + end = lineEnd;
|
| + start = lineStart;
|
| + prefix = "";
|
| + postfix = "";
|
| + }
|
| + slice = t1.substring$2(source, start, end);
|
| + if (typeof start !== "number")
|
| + return H.iae(start);
|
| + return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n";
|
| + },
|
| + static: {FormatException$: function(message, source, offset) {
|
| + return new P.FormatException(message, source, offset);
|
| + }}
|
| + },
|
| + Expando: {
|
| + "^": "Object;name",
|
| + toString$0: function(_) {
|
| + return "Expando:" + H.S(this.name);
|
| + },
|
| + $index: function(_, object) {
|
| + var values = H.Primitives_getProperty(object, "expando$values");
|
| + return values == null ? null : H.Primitives_getProperty(values, this._getKey$0());
|
| + },
|
| + $indexSet: function(_, object, value) {
|
| + var values = H.Primitives_getProperty(object, "expando$values");
|
| + if (values == null) {
|
| + values = new P.Object();
|
| + H.Primitives_setProperty(object, "expando$values", values);
|
| + }
|
| + H.Primitives_setProperty(values, this._getKey$0(), value);
|
| + },
|
| + _getKey$0: function() {
|
| + var key, t1;
|
| + key = H.Primitives_getProperty(this, "expando$key");
|
| + if (key == null) {
|
| + t1 = $.Expando__keyCount;
|
| + $.Expando__keyCount = t1 + 1;
|
| + key = "expando$key$" + t1;
|
| + H.Primitives_setProperty(this, "expando$key", key);
|
| + }
|
| + return key;
|
| + }
|
| + },
|
| + $int: {
|
| + "^": "num;"
|
| + },
|
| + "+int": 0,
|
| + Iterator: {
|
| + "^": "Object;"
|
| + },
|
| + List: {
|
| + "^": "Object;",
|
| + $asList: null,
|
| + $isEfficientLength: 1
|
| + },
|
| + "+List": 0,
|
| + Map: {
|
| + "^": "Object;"
|
| + },
|
| + Null: {
|
| + "^": "Object;",
|
| + toString$0: function(_) {
|
| + return "null";
|
| + }
|
| + },
|
| + "+Null": 0,
|
| + num: {
|
| + "^": "Object;"
|
| + },
|
| + "+num": 0,
|
| + Object: {
|
| + "^": ";",
|
| + $eq: function(_, other) {
|
| + return this === other;
|
| + },
|
| + get$hashCode: function(_) {
|
| + return H.Primitives_objectHashCode(this);
|
| + },
|
| + toString$0: function(_) {
|
| + return H.Primitives_objectToString(this);
|
| + }
|
| + },
|
| + Match: {
|
| + "^": "Object;"
|
| + },
|
| + StackTrace: {
|
| + "^": "Object;"
|
| + },
|
| + String: {
|
| + "^": "Object;"
|
| + },
|
| + "+String": 0,
|
| + StringBuffer: {
|
| + "^": "Object;_contents<",
|
| + get$length: function(_) {
|
| + return this._contents.length;
|
| + },
|
| + get$isEmpty: function(_) {
|
| + return this._contents.length === 0;
|
| + },
|
| + get$isNotEmpty: function(_) {
|
| + return this._contents.length !== 0;
|
| + },
|
| + writeAll$2: function(objects, separator) {
|
| + var iterator = J.get$iterator$ax(objects);
|
| + if (!iterator.moveNext$0())
|
| + return;
|
| + if (separator.length === 0) {
|
| + do
|
| + this._contents += H.S(iterator.get$current());
|
| + while (iterator.moveNext$0());
|
| + } else {
|
| + this._contents += H.S(iterator.get$current());
|
| + for (; iterator.moveNext$0();) {
|
| + this._contents += separator;
|
| + this._contents += H.S(iterator.get$current());
|
| + }
|
| + }
|
| + },
|
| + toString$0: function(_) {
|
| + var t1 = this._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }
|
| + },
|
| + Symbol: {
|
| + "^": "Object;"
|
| + },
|
| + Uri: {
|
| + "^": "Object;_host,_port,_path,scheme,_userInfo,_query,_fragment,_pathSegments,_queryParameters",
|
| + get$host: function(_) {
|
| + var t1 = this._host;
|
| + if (t1 == null)
|
| + return "";
|
| + if (J.getInterceptor$s(t1).startsWith$1(t1, "["))
|
| + return C.JSString_methods.substring$2(t1, 1, t1.length - 1);
|
| + return t1;
|
| + },
|
| + get$port: function(_) {
|
| + var t1 = this._port;
|
| + if (t1 == null)
|
| + return P.Uri__defaultPort(this.scheme);
|
| + return t1;
|
| + },
|
| + get$pathSegments: function() {
|
| + var t1, pathToSplit;
|
| + t1 = this._pathSegments;
|
| + if (t1 == null) {
|
| + pathToSplit = this._path;
|
| + if (pathToSplit.length !== 0 && C.JSString_methods.codeUnitAt$1(pathToSplit, 0) === 47)
|
| + pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1);
|
| + t1 = pathToSplit === "" ? C.List_empty : H.setRuntimeTypeInfo(new H.MappedListIterable(pathToSplit.split("/"), P.Uri_decodeComponent$closure()), [null, null]).toList$1$growable(0, false);
|
| + t1 = H.setRuntimeTypeInfo(new P.UnmodifiableListView(t1), [null]);
|
| + this._pathSegments = t1;
|
| + }
|
| + return t1;
|
| + },
|
| + _merge$2: function(base, reference) {
|
| + var backCount, refStart, baseEnd, newEnd, delta, t1;
|
| + if (base.length === 0)
|
| + return "/" + reference;
|
| + for (backCount = 0, refStart = 0; C.JSString_methods.startsWith$2(reference, "../", refStart);) {
|
| + refStart += 3;
|
| + ++backCount;
|
| + }
|
| + baseEnd = C.JSString_methods.lastIndexOf$1(base, "/");
|
| + while (true) {
|
| + if (!(baseEnd > 0 && backCount > 0))
|
| + break;
|
| + newEnd = C.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1);
|
| + if (newEnd < 0)
|
| + break;
|
| + delta = baseEnd - newEnd;
|
| + t1 = delta !== 2;
|
| + if (!t1 || delta === 3)
|
| + if (C.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46)
|
| + t1 = !t1 || C.JSString_methods.codeUnitAt$1(base, newEnd + 2) === 46;
|
| + else
|
| + t1 = false;
|
| + else
|
| + t1 = false;
|
| + if (t1)
|
| + break;
|
| + --backCount;
|
| + baseEnd = newEnd;
|
| + }
|
| + return C.JSString_methods.replaceRange$3(base, baseEnd + 1, null, C.JSString_methods.substring$1(reference, refStart - 3 * backCount));
|
| + },
|
| + _hasDotSegments$1: function(path) {
|
| + if (path.length > 0 && C.JSString_methods.codeUnitAt$1(path, 0) === 46)
|
| + return true;
|
| + return C.JSString_methods.indexOf$1(path, "/.") !== -1;
|
| + },
|
| + _removeDotSegments$1: function(path) {
|
| + var output, t1, appendSlash, segment, t2;
|
| + if (!this._hasDotSegments$1(path))
|
| + return path;
|
| + output = [];
|
| + for (t1 = path.split("/"), t1 = new H.ListIterator(t1, t1.length, 0, null), appendSlash = false; t1.moveNext$0();) {
|
| + segment = t1._current;
|
| + if (J.$eq(segment, "..")) {
|
| + t2 = output.length;
|
| + if (t2 !== 0)
|
| + if (t2 === 1) {
|
| + if (0 >= t2)
|
| + return H.ioore(output, 0);
|
| + t2 = !J.$eq(output[0], "");
|
| + } else
|
| + t2 = true;
|
| + else
|
| + t2 = false;
|
| + if (t2) {
|
| + if (0 >= output.length)
|
| + return H.ioore(output, 0);
|
| + output.pop();
|
| + }
|
| + appendSlash = true;
|
| + } else if ("." === segment)
|
| + appendSlash = true;
|
| + else {
|
| + output.push(segment);
|
| + appendSlash = false;
|
| + }
|
| + }
|
| + if (appendSlash)
|
| + output.push("");
|
| + return C.JSArray_methods.join$1(output, "/");
|
| + },
|
| + resolveUri$1: function(reference) {
|
| + var targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, t1, fragment;
|
| + targetScheme = reference.scheme;
|
| + if (targetScheme.length !== 0) {
|
| + if (reference._host != null) {
|
| + targetUserInfo = reference._userInfo;
|
| + targetHost = reference.get$host(reference);
|
| + targetPort = reference._port != null ? reference.get$port(reference) : null;
|
| + } else {
|
| + targetUserInfo = "";
|
| + targetHost = null;
|
| + targetPort = null;
|
| + }
|
| + targetPath = this._removeDotSegments$1(reference._path);
|
| + targetQuery = reference._query;
|
| + if (targetQuery != null)
|
| + ;
|
| + else
|
| + targetQuery = null;
|
| + } else {
|
| + targetScheme = this.scheme;
|
| + if (reference._host != null) {
|
| + targetUserInfo = reference._userInfo;
|
| + targetHost = reference.get$host(reference);
|
| + targetPort = P.Uri__makePort(reference._port != null ? reference.get$port(reference) : null, targetScheme);
|
| + targetPath = this._removeDotSegments$1(reference._path);
|
| + targetQuery = reference._query;
|
| + if (targetQuery != null)
|
| + ;
|
| + else
|
| + targetQuery = null;
|
| + } else {
|
| + t1 = reference._path;
|
| + if (t1 === "") {
|
| + targetPath = this._path;
|
| + targetQuery = reference._query;
|
| + if (targetQuery != null)
|
| + ;
|
| + else
|
| + targetQuery = this._query;
|
| + } else {
|
| + targetPath = C.JSString_methods.startsWith$1(t1, "/") ? this._removeDotSegments$1(t1) : this._removeDotSegments$1(this._merge$2(this._path, t1));
|
| + targetQuery = reference._query;
|
| + if (targetQuery != null)
|
| + ;
|
| + else
|
| + targetQuery = null;
|
| + }
|
| + targetUserInfo = this._userInfo;
|
| + targetHost = this._host;
|
| + targetPort = this._port;
|
| + }
|
| + }
|
| + fragment = reference._fragment;
|
| + if (fragment != null)
|
| + ;
|
| + else
|
| + fragment = null;
|
| + return new P.Uri(targetHost, targetPort, targetPath, targetScheme, targetUserInfo, targetQuery, fragment, null, null);
|
| + },
|
| + get$origin: function(_) {
|
| + var t1, t2;
|
| + t1 = this.scheme;
|
| + if (t1 !== "") {
|
| + t2 = this._host;
|
| + t2 = t2 == null || t2 === "";
|
| + } else
|
| + t2 = true;
|
| + if (t2)
|
| + throw H.wrapException(P.StateError$("Cannot use origin without a scheme: " + this.toString$0(0)));
|
| + if (t1 !== "http" && t1 !== "https")
|
| + throw H.wrapException(P.StateError$("Origin is only applicable schemes http and https: " + this.toString$0(0)));
|
| + t2 = this._port;
|
| + if (t2 == null)
|
| + return t1 + "://" + H.S(this._host);
|
| + return t1 + "://" + H.S(this._host) + ":" + H.S(t2);
|
| + },
|
| + toFilePath$1$windows: function(windows) {
|
| + var t1, result;
|
| + t1 = this.scheme;
|
| + if (t1 !== "" && t1 !== "file")
|
| + throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + t1 + " URI"));
|
| + t1 = this._query;
|
| + if ((t1 == null ? "" : t1) !== "")
|
| + throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component"));
|
| + t1 = this._fragment;
|
| + if ((t1 == null ? "" : t1) !== "")
|
| + throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component"));
|
| + if (this.get$host(this) !== "")
|
| + H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority"));
|
| + P.Uri__checkNonWindowsPathReservedCharacters(this.get$pathSegments(), false);
|
| + result = new P.StringBuffer("");
|
| + if (this.get$_isPathAbsolute())
|
| + result._contents = "/";
|
| + result.writeAll$2(this.get$pathSegments(), "/");
|
| + t1 = result._contents;
|
| + t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + return t1;
|
| + },
|
| + toFilePath$0: function() {
|
| + return this.toFilePath$1$windows(null);
|
| + },
|
| + get$_isPathAbsolute: function() {
|
| + if (this._path.length === 0)
|
| + return false;
|
| + return C.JSString_methods.startsWith$1(this._path, "/");
|
| + },
|
| + toString$0: function(_) {
|
| + var t1, t2, t3, t4;
|
| + t1 = this.scheme;
|
| + t2 = "" !== t1 ? t1 + ":" : "";
|
| + t3 = this._host;
|
| + t4 = t3 == null;
|
| + if (!t4 || C.JSString_methods.startsWith$1(this._path, "//") || t1 === "file") {
|
| + t1 = t2 + "//";
|
| + t2 = this._userInfo;
|
| + if (t2.length !== 0)
|
| + t1 = t1 + t2 + "@";
|
| + if (!t4)
|
| + t1 += H.S(t3);
|
| + t2 = this._port;
|
| + if (t2 != null)
|
| + t1 = t1 + ":" + H.S(t2);
|
| + } else
|
| + t1 = t2;
|
| + t1 += this._path;
|
| + t2 = this._query;
|
| + if (t2 != null)
|
| + t1 = t1 + "?" + H.S(t2);
|
| + t2 = this._fragment;
|
| + if (t2 != null)
|
| + t1 = t1 + "#" + H.S(t2);
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + $eq: function(_, other) {
|
| + var t1, t2, t3, t4;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + if (!t1.$isUri)
|
| + return false;
|
| + if (this.scheme === other.scheme)
|
| + if (this._host != null === (other._host != null))
|
| + if (this._userInfo === other._userInfo) {
|
| + t2 = this.get$host(this);
|
| + t3 = t1.get$host(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = this.get$port(this);
|
| + t1 = t1.get$port(other);
|
| + if (t2 == null ? t1 == null : t2 === t1)
|
| + if (this._path === other._path) {
|
| + t1 = this._query;
|
| + t2 = t1 == null;
|
| + t3 = other._query;
|
| + t4 = t3 == null;
|
| + if (!t2 === !t4) {
|
| + if (t2)
|
| + t1 = "";
|
| + if (t1 == null ? (t4 ? "" : t3) == null : t1 === (t4 ? "" : t3)) {
|
| + t1 = this._fragment;
|
| + t2 = t1 == null;
|
| + t3 = other._fragment;
|
| + t4 = t3 == null;
|
| + if (!t2 === !t4) {
|
| + if (t2)
|
| + t1 = "";
|
| + t1 = t1 == null ? (t4 ? "" : t3) == null : t1 === (t4 ? "" : t3);
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + else
|
| + t1 = false;
|
| + else
|
| + t1 = false;
|
| + return t1;
|
| + },
|
| + get$hashCode: function(_) {
|
| + var t1, t2, t3, t4, t5;
|
| + t1 = new P.Uri_hashCode_combine();
|
| + t2 = this.get$host(this);
|
| + t3 = this.get$port(this);
|
| + t4 = this._query;
|
| + if (t4 == null)
|
| + t4 = "";
|
| + t5 = this._fragment;
|
| + return t1.call$2(this.scheme, t1.call$2(this._userInfo, t1.call$2(t2, t1.call$2(t3, t1.call$2(this._path, t1.call$2(t4, t1.call$2(t5 == null ? "" : t5, 1)))))));
|
| + },
|
| + static: {Uri__defaultPort: function(scheme) {
|
| + if (scheme === "http")
|
| + return 80;
|
| + if (scheme === "https")
|
| + return 443;
|
| + return 0;
|
| + }, Uri_parse: function(uri) {
|
| + var t1, pathStart, state, t2, i, t3, $char, index, t4, path, numberSignIndex, query, fragment;
|
| + t1 = {};
|
| + t1.scheme_0 = "";
|
| + t1.userinfo_1 = "";
|
| + t1.host_2 = null;
|
| + t1.port_3 = null;
|
| + t1.index_4 = 0;
|
| + t1.char_5 = -1;
|
| + t2 = J.getInterceptor$asx(uri);
|
| + i = 0;
|
| + while (true) {
|
| + t3 = t2.get$length(uri);
|
| + if (typeof t3 !== "number")
|
| + return H.iae(t3);
|
| + if (!(i < t3)) {
|
| + pathStart = 0;
|
| + state = 0;
|
| + break;
|
| + }
|
| + $char = t2.codeUnitAt$1(uri, i);
|
| + t1.char_5 = $char;
|
| + if ($char === 63 || $char === 35) {
|
| + pathStart = 0;
|
| + state = 0;
|
| + break;
|
| + }
|
| + if ($char === 47) {
|
| + state = i === 0 ? 2 : 1;
|
| + pathStart = 0;
|
| + break;
|
| + }
|
| + if ($char === 58) {
|
| + if (i === 0)
|
| + P.Uri__fail(uri, 0, "Invalid empty scheme");
|
| + t1.scheme_0 = P.Uri__makeScheme(uri, i);
|
| + ++i;
|
| + if (i === uri.length) {
|
| + t1.char_5 = -1;
|
| + state = 0;
|
| + } else {
|
| + $char = C.JSString_methods.codeUnitAt$1(uri, i);
|
| + t1.char_5 = $char;
|
| + if ($char === 63 || $char === 35)
|
| + state = 0;
|
| + else
|
| + state = $char === 47 ? 2 : 1;
|
| + }
|
| + pathStart = i;
|
| + break;
|
| + }
|
| + ++i;
|
| + t1.char_5 = -1;
|
| + }
|
| + t1.index_4 = i;
|
| + if (state === 2) {
|
| + index = i + 1;
|
| + t1.index_4 = index;
|
| + if (index === t2.get$length(uri)) {
|
| + t1.char_5 = -1;
|
| + state = 0;
|
| + } else {
|
| + $char = t2.codeUnitAt$1(uri, t1.index_4);
|
| + t1.char_5 = $char;
|
| + if ($char === 47) {
|
| + ++t1.index_4;
|
| + new P.Uri_parse_parseAuth(t1, uri, -1).call$0();
|
| + pathStart = t1.index_4;
|
| + }
|
| + t3 = t1.char_5;
|
| + state = t3 === 63 || t3 === 35 || t3 === -1 ? 0 : 1;
|
| + }
|
| + }
|
| + if (state === 1)
|
| + while (true) {
|
| + t3 = ++t1.index_4;
|
| + t4 = t2.get$length(uri);
|
| + if (typeof t4 !== "number")
|
| + return H.iae(t4);
|
| + if (!(t3 < t4))
|
| + break;
|
| + $char = t2.codeUnitAt$1(uri, t1.index_4);
|
| + t1.char_5 = $char;
|
| + if ($char === 63 || $char === 35)
|
| + break;
|
| + t1.char_5 = -1;
|
| + }
|
| + t3 = t1.scheme_0;
|
| + t4 = t1.host_2;
|
| + path = P.Uri__makePath(uri, pathStart, t1.index_4, null, t4 != null, t3 === "file");
|
| + t3 = t1.char_5;
|
| + if (t3 === 63) {
|
| + numberSignIndex = t2.indexOf$2(uri, "#", t1.index_4 + 1);
|
| + t3 = t1.index_4;
|
| + if (numberSignIndex < 0) {
|
| + query = P.Uri__makeQuery(uri, t3 + 1, t2.get$length(uri), null);
|
| + fragment = null;
|
| + } else {
|
| + query = P.Uri__makeQuery(uri, t3 + 1, numberSignIndex, null);
|
| + fragment = P.Uri__makeFragment(uri, numberSignIndex + 1, t2.get$length(uri));
|
| + }
|
| + } else {
|
| + fragment = t3 === 35 ? P.Uri__makeFragment(uri, t1.index_4 + 1, t2.get$length(uri)) : null;
|
| + query = null;
|
| + }
|
| + t2 = t1.scheme_0;
|
| + t3 = t1.userinfo_1;
|
| + return new P.Uri(t1.host_2, t1.port_3, path, t2, t3, query, fragment, null, null);
|
| + }, Uri__fail: function(uri, index, message) {
|
| + throw H.wrapException(P.FormatException$(message, uri, index));
|
| + }, Uri_Uri: function(fragment, host, path, pathSegments, port, query, queryParameters, scheme, userInfo) {
|
| + var isFile, t1;
|
| + scheme = P.Uri__makeScheme(scheme, scheme.length);
|
| + userInfo = P.Uri__makeUserInfo(userInfo, 0, userInfo.length);
|
| + host = P.Uri__makeHost(host, 0, host == null ? 0 : J.get$length$asx(host), false);
|
| + query = P.Uri__makeQuery(query, 0, 0, queryParameters);
|
| + fragment = P.Uri__makeFragment(fragment, 0, 0);
|
| + port = P.Uri__makePort(port, scheme);
|
| + isFile = scheme === "file";
|
| + if (host == null)
|
| + t1 = userInfo.length !== 0 || port != null || isFile;
|
| + else
|
| + t1 = false;
|
| + if (t1)
|
| + host = "";
|
| + t1 = path == null ? 0 : path.length;
|
| + return new P.Uri(host, port, P.Uri__makePath(path, 0, t1, pathSegments, host != null, isFile), scheme, userInfo, query, fragment, null, null);
|
| + }, Uri_Uri$file: function(path, windows) {
|
| + return windows ? P.Uri__makeWindowsFileUrl(path) : P.Uri__makeFileUri(path);
|
| + }, Uri_base: function() {
|
| + var uri = H.Primitives_currentUri();
|
| + if (uri != null)
|
| + return P.Uri_parse(uri);
|
| + throw H.wrapException(P.UnsupportedError$("'Uri.base' is not supported"));
|
| + }, Uri__checkNonWindowsPathReservedCharacters: function(segments, argumentError) {
|
| + segments.forEach$1(segments, new P.Uri__checkNonWindowsPathReservedCharacters_closure(argumentError));
|
| + }, Uri__checkWindowsPathReservedCharacters: function(segments, argumentError, firstSegment) {
|
| + J.skip$1$ax(segments, firstSegment).forEach$1(0, new P.Uri__checkWindowsPathReservedCharacters_closure(argumentError));
|
| + }, Uri__checkWindowsDriveLetter: function(charCode, argumentError) {
|
| + var t1;
|
| + if (!(65 <= charCode && charCode <= 90))
|
| + t1 = 97 <= charCode && charCode <= 122;
|
| + else
|
| + t1 = true;
|
| + if (t1)
|
| + return;
|
| + if (argumentError)
|
| + throw H.wrapException(P.ArgumentError$("Illegal drive letter " + P.String_String$fromCharCode(charCode)));
|
| + else
|
| + throw H.wrapException(P.UnsupportedError$("Illegal drive letter " + P.String_String$fromCharCode(charCode)));
|
| + }, Uri__makeFileUri: function(path) {
|
| + if (J.startsWith$1$s(path, "/"))
|
| + return P.Uri_Uri(null, null, null, path.split("/"), null, null, null, "file", "");
|
| + else
|
| + return P.Uri_Uri(null, null, null, path.split("/"), null, null, null, "", "");
|
| + }, Uri__makeWindowsFileUrl: function(path) {
|
| + var t1, pathSegments, pathStart, hostPart;
|
| + if (J.getInterceptor$s(path).startsWith$1(path, "\\\\?\\"))
|
| + if (C.JSString_methods.startsWith$2(path, "UNC\\", 4))
|
| + path = C.JSString_methods.replaceRange$3(path, 0, 7, "\\");
|
| + else {
|
| + path = C.JSString_methods.substring$1(path, 4);
|
| + if (path.length < 3 || C.JSString_methods.codeUnitAt$1(path, 1) !== 58 || C.JSString_methods.codeUnitAt$1(path, 2) !== 92)
|
| + throw H.wrapException(P.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute"));
|
| + }
|
| + else {
|
| + H.checkString("\\");
|
| + path = H.stringReplaceAllUnchecked(path, "/", "\\");
|
| + }
|
| + t1 = path.length;
|
| + if (t1 > 1 && C.JSString_methods.codeUnitAt$1(path, 1) === 58) {
|
| + P.Uri__checkWindowsDriveLetter(C.JSString_methods.codeUnitAt$1(path, 0), true);
|
| + if (t1 === 2 || C.JSString_methods.codeUnitAt$1(path, 2) !== 92)
|
| + throw H.wrapException(P.ArgumentError$("Windows paths with drive letter must be absolute"));
|
| + pathSegments = path.split("\\");
|
| + P.Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1);
|
| + return P.Uri_Uri(null, null, null, pathSegments, null, null, null, "file", "");
|
| + }
|
| + if (C.JSString_methods.startsWith$1(path, "\\"))
|
| + if (C.JSString_methods.startsWith$2(path, "\\", 1)) {
|
| + pathStart = C.JSString_methods.indexOf$2(path, "\\", 2);
|
| + t1 = pathStart < 0;
|
| + hostPart = t1 ? C.JSString_methods.substring$1(path, 2) : C.JSString_methods.substring$2(path, 2, pathStart);
|
| + pathSegments = (t1 ? "" : C.JSString_methods.substring$1(path, pathStart + 1)).split("\\");
|
| + P.Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
|
| + return P.Uri_Uri(null, hostPart, null, pathSegments, null, null, null, "file", "");
|
| + } else {
|
| + pathSegments = path.split("\\");
|
| + P.Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
|
| + return P.Uri_Uri(null, null, null, pathSegments, null, null, null, "file", "");
|
| + }
|
| + else {
|
| + pathSegments = path.split("\\");
|
| + P.Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
|
| + return P.Uri_Uri(null, null, null, pathSegments, null, null, null, "", "");
|
| + }
|
| + }, Uri__makePort: function(port, scheme) {
|
| + if (port != null && port === P.Uri__defaultPort(scheme))
|
| + return;
|
| + return port;
|
| + }, Uri__makeHost: function(host, start, end, strictIPv6) {
|
| + var t1, i;
|
| + if (host == null)
|
| + return;
|
| + if (start === end)
|
| + return "";
|
| + if (J.getInterceptor$s(host).codeUnitAt$1(host, start) === 91) {
|
| + t1 = J.getInterceptor$n(end);
|
| + if (C.JSString_methods.codeUnitAt$1(host, t1.$sub(end, 1)) !== 93)
|
| + P.Uri__fail(host, start, "Missing end `]` to match `[` in host");
|
| + P.Uri_parseIPv6Address(host, start + 1, t1.$sub(end, 1));
|
| + return C.JSString_methods.substring$2(host, start, end).toLowerCase();
|
| + }
|
| + if (!strictIPv6) {
|
| + if (typeof end !== "number")
|
| + return H.iae(end);
|
| + i = start;
|
| + for (; i < end; ++i)
|
| + if (C.JSString_methods.codeUnitAt$1(host, i) === 58) {
|
| + P.Uri_parseIPv6Address(host, start, end);
|
| + return "[" + host + "]";
|
| + }
|
| + }
|
| + return P.Uri__normalizeRegName(host, start, end);
|
| + }, Uri__normalizeRegName: function(host, start, end) {
|
| + var index, sectionStart, buffer, isNormalized, $char, replacement, t1, slice, sourceLength, tail;
|
| + if (typeof end !== "number")
|
| + return H.iae(end);
|
| + index = start;
|
| + sectionStart = index;
|
| + buffer = null;
|
| + isNormalized = true;
|
| + for (; index < end;) {
|
| + $char = C.JSString_methods.codeUnitAt$1(host, index);
|
| + if ($char === 37) {
|
| + replacement = P.Uri__normalizeEscape(host, index, true);
|
| + t1 = replacement == null;
|
| + if (t1 && isNormalized) {
|
| + index += 3;
|
| + continue;
|
| + }
|
| + if (buffer == null)
|
| + buffer = new P.StringBuffer("");
|
| + slice = C.JSString_methods.substring$2(host, sectionStart, index);
|
| + if (!isNormalized)
|
| + slice = slice.toLowerCase();
|
| + buffer._contents = buffer._contents + slice;
|
| + if (t1) {
|
| + replacement = C.JSString_methods.substring$2(host, index, index + 3);
|
| + sourceLength = 3;
|
| + } else if (replacement === "%") {
|
| + replacement = "%25";
|
| + sourceLength = 1;
|
| + } else
|
| + sourceLength = 3;
|
| + buffer._contents += replacement;
|
| + index += sourceLength;
|
| + sectionStart = index;
|
| + isNormalized = true;
|
| + } else {
|
| + if ($char < 127) {
|
| + t1 = $char >>> 4;
|
| + if (t1 >= 8)
|
| + return H.ioore(C.List_qNA, t1);
|
| + t1 = (C.List_qNA[t1] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0;
|
| + } else
|
| + t1 = false;
|
| + if (t1) {
|
| + if (isNormalized && 65 <= $char && 90 >= $char) {
|
| + if (buffer == null)
|
| + buffer = new P.StringBuffer("");
|
| + if (sectionStart < index) {
|
| + t1 = C.JSString_methods.substring$2(host, sectionStart, index);
|
| + buffer._contents = buffer._contents + t1;
|
| + sectionStart = index;
|
| + }
|
| + isNormalized = false;
|
| + }
|
| + ++index;
|
| + } else {
|
| + if ($char <= 93) {
|
| + t1 = $char >>> 4;
|
| + if (t1 >= 8)
|
| + return H.ioore(C.List_2Vk, t1);
|
| + t1 = (C.List_2Vk[t1] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0;
|
| + } else
|
| + t1 = false;
|
| + if (t1)
|
| + P.Uri__fail(host, index, "Invalid character");
|
| + else {
|
| + if (($char & 64512) === 55296 && index + 1 < end) {
|
| + tail = C.JSString_methods.codeUnitAt$1(host, index + 1);
|
| + if ((tail & 64512) === 56320) {
|
| + $char = (65536 | ($char & 1023) << 10 | tail & 1023) >>> 0;
|
| + sourceLength = 2;
|
| + } else
|
| + sourceLength = 1;
|
| + } else
|
| + sourceLength = 1;
|
| + if (buffer == null)
|
| + buffer = new P.StringBuffer("");
|
| + slice = C.JSString_methods.substring$2(host, sectionStart, index);
|
| + if (!isNormalized)
|
| + slice = slice.toLowerCase();
|
| + buffer._contents = buffer._contents + slice;
|
| + buffer._contents += P.Uri__escapeChar($char);
|
| + index += sourceLength;
|
| + sectionStart = index;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + if (buffer == null)
|
| + return C.JSString_methods.substring$2(host, start, end);
|
| + if (sectionStart < end) {
|
| + slice = C.JSString_methods.substring$2(host, sectionStart, end);
|
| + buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
|
| + }
|
| + t1 = buffer._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }, Uri__makeScheme: function(scheme, end) {
|
| + var firstCodeUnit, allLowercase, t1, i, codeUnit;
|
| + if (J.$eq(end, 0))
|
| + return "";
|
| + firstCodeUnit = J.getInterceptor$s(scheme).codeUnitAt$1(scheme, 0);
|
| + allLowercase = firstCodeUnit >= 97;
|
| + if (!(allLowercase && firstCodeUnit <= 122))
|
| + t1 = firstCodeUnit >= 65 && firstCodeUnit <= 90;
|
| + else
|
| + t1 = true;
|
| + if (!t1)
|
| + P.Uri__fail(scheme, 0, "Scheme not starting with alphabetic character");
|
| + if (typeof end !== "number")
|
| + return H.iae(end);
|
| + i = 0;
|
| + for (; i < end; ++i) {
|
| + codeUnit = C.JSString_methods.codeUnitAt$1(scheme, i);
|
| + if (codeUnit < 128) {
|
| + t1 = codeUnit >>> 4;
|
| + if (t1 >= 8)
|
| + return H.ioore(C.List_JYB, t1);
|
| + t1 = (C.List_JYB[t1] & C.JSInt_methods._shlPositive$1(1, codeUnit & 15)) !== 0;
|
| + } else
|
| + t1 = false;
|
| + if (!t1)
|
| + P.Uri__fail(scheme, i, "Illegal scheme character");
|
| + if (codeUnit < 97 || codeUnit > 122)
|
| + allLowercase = false;
|
| + }
|
| + scheme = C.JSString_methods.substring$2(scheme, 0, end);
|
| + return !allLowercase ? scheme.toLowerCase() : scheme;
|
| + }, Uri__makeUserInfo: function(userInfo, start, end) {
|
| + return P.Uri__normalize(userInfo, start, end, C.List_gRj);
|
| + }, Uri__makePath: function(path, start, end, pathSegments, ensureLeadingSlash, isFile) {
|
| + var t1, result;
|
| + t1 = path == null;
|
| + if (t1 && pathSegments == null)
|
| + return isFile ? "/" : "";
|
| + t1 = !t1;
|
| + if (t1 && pathSegments != null)
|
| + throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified"));
|
| + if (t1)
|
| + result = P.Uri__normalize(path, start, end, C.List_qg4);
|
| + else {
|
| + pathSegments.toString;
|
| + result = H.setRuntimeTypeInfo(new H.MappedListIterable(pathSegments, new P.Uri__makePath_closure()), [null, null]).join$1(0, "/");
|
| + }
|
| + if (result.length === 0) {
|
| + if (isFile)
|
| + return "/";
|
| + } else if ((isFile || ensureLeadingSlash) && C.JSString_methods.codeUnitAt$1(result, 0) !== 47)
|
| + return "/" + result;
|
| + return result;
|
| + }, Uri__makeQuery: function(query, start, end, queryParameters) {
|
| + var t1, t2, result;
|
| + t1 = {};
|
| + t2 = query == null;
|
| + if (t2 && true)
|
| + return;
|
| + t2 = !t2;
|
| + if (t2)
|
| + ;
|
| + if (t2)
|
| + return P.Uri__normalize(query, start, end, C.List_CVk);
|
| + result = new P.StringBuffer("");
|
| + t1.first_0 = true;
|
| + C.JSNull_methods.forEach$1(queryParameters, new P.Uri__makeQuery_closure(t1, result));
|
| + t1 = result._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }, Uri__makeFragment: function(fragment, start, end) {
|
| + if (fragment == null)
|
| + return;
|
| + return P.Uri__normalize(fragment, start, end, C.List_CVk);
|
| + }, Uri__isHexDigit: function($char) {
|
| + if (57 >= $char)
|
| + return 48 <= $char;
|
| + $char |= 32;
|
| + return 97 <= $char && 102 >= $char;
|
| + }, Uri__hexValue: function($char) {
|
| + if (57 >= $char)
|
| + return $char - 48;
|
| + return ($char | 32) - 87;
|
| + }, Uri__normalizeEscape: function(source, index, lowerCase) {
|
| + var t1, firstDigit, secondDigit, value;
|
| + t1 = index + 2;
|
| + if (t1 >= source.length)
|
| + return "%";
|
| + firstDigit = C.JSString_methods.codeUnitAt$1(source, index + 1);
|
| + secondDigit = C.JSString_methods.codeUnitAt$1(source, t1);
|
| + if (!P.Uri__isHexDigit(firstDigit) || !P.Uri__isHexDigit(secondDigit))
|
| + return "%";
|
| + value = P.Uri__hexValue(firstDigit) * 16 + P.Uri__hexValue(secondDigit);
|
| + if (value < 127) {
|
| + t1 = C.JSInt_methods._shrOtherPositive$1(value, 4);
|
| + if (t1 >= 8)
|
| + return H.ioore(C.List_nxB, t1);
|
| + t1 = (C.List_nxB[t1] & C.JSInt_methods._shlPositive$1(1, value & 15)) !== 0;
|
| + } else
|
| + t1 = false;
|
| + if (t1)
|
| + return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value);
|
| + if (firstDigit >= 97 || secondDigit >= 97)
|
| + return C.JSString_methods.substring$2(source, index, index + 3).toUpperCase();
|
| + return;
|
| + }, Uri__escapeChar: function($char) {
|
| + var codeUnits, flag, encodedBytes, t1, index, $byte, t2, t3;
|
| + if ($char < 128) {
|
| + codeUnits = Array(3);
|
| + codeUnits.fixed$length = Array;
|
| + codeUnits[0] = 37;
|
| + codeUnits[1] = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $char >>> 4);
|
| + codeUnits[2] = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $char & 15);
|
| + } else {
|
| + if ($char > 2047)
|
| + if ($char > 65535) {
|
| + flag = 240;
|
| + encodedBytes = 4;
|
| + } else {
|
| + flag = 224;
|
| + encodedBytes = 3;
|
| + }
|
| + else {
|
| + flag = 192;
|
| + encodedBytes = 2;
|
| + }
|
| + t1 = 3 * encodedBytes;
|
| + codeUnits = Array(t1);
|
| + codeUnits.fixed$length = Array;
|
| + for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) {
|
| + $byte = C.JSInt_methods._shrReceiverPositive$1($char, 6 * encodedBytes) & 63 | flag;
|
| + if (index >= t1)
|
| + return H.ioore(codeUnits, index);
|
| + codeUnits[index] = 37;
|
| + t2 = index + 1;
|
| + t3 = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $byte >>> 4);
|
| + if (t2 >= t1)
|
| + return H.ioore(codeUnits, t2);
|
| + codeUnits[t2] = t3;
|
| + t3 = index + 2;
|
| + t2 = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $byte & 15);
|
| + if (t3 >= t1)
|
| + return H.ioore(codeUnits, t3);
|
| + codeUnits[t3] = t2;
|
| + index += 3;
|
| + }
|
| + }
|
| + return P.String_String$fromCharCodes(codeUnits, 0, null);
|
| + }, Uri__normalize: function(component, start, end, charTable) {
|
| + var t1, index, sectionStart, buffer, $char, t2, replacement, sourceLength, tail;
|
| + if (typeof end !== "number")
|
| + return H.iae(end);
|
| + t1 = J.getInterceptor$s(component);
|
| + index = start;
|
| + sectionStart = index;
|
| + buffer = null;
|
| + for (; index < end;) {
|
| + $char = t1.codeUnitAt$1(component, index);
|
| + if ($char < 127) {
|
| + t2 = $char >>> 4;
|
| + if (t2 >= 8)
|
| + return H.ioore(charTable, t2);
|
| + t2 = (charTable[t2] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0;
|
| + } else
|
| + t2 = false;
|
| + if (t2)
|
| + ++index;
|
| + else {
|
| + if ($char === 37) {
|
| + replacement = P.Uri__normalizeEscape(component, index, false);
|
| + if (replacement == null) {
|
| + index += 3;
|
| + continue;
|
| + }
|
| + if ("%" === replacement) {
|
| + replacement = "%25";
|
| + sourceLength = 1;
|
| + } else
|
| + sourceLength = 3;
|
| + } else {
|
| + if ($char <= 93) {
|
| + t2 = $char >>> 4;
|
| + if (t2 >= 8)
|
| + return H.ioore(C.List_2Vk, t2);
|
| + t2 = (C.List_2Vk[t2] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0;
|
| + } else
|
| + t2 = false;
|
| + if (t2) {
|
| + P.Uri__fail(component, index, "Invalid character");
|
| + replacement = null;
|
| + sourceLength = null;
|
| + } else {
|
| + if (($char & 64512) === 55296) {
|
| + t2 = index + 1;
|
| + if (t2 < end) {
|
| + tail = C.JSString_methods.codeUnitAt$1(component, t2);
|
| + if ((tail & 64512) === 56320) {
|
| + $char = (65536 | ($char & 1023) << 10 | tail & 1023) >>> 0;
|
| + sourceLength = 2;
|
| + } else
|
| + sourceLength = 1;
|
| + } else
|
| + sourceLength = 1;
|
| + } else
|
| + sourceLength = 1;
|
| + replacement = P.Uri__escapeChar($char);
|
| + }
|
| + }
|
| + if (buffer == null)
|
| + buffer = new P.StringBuffer("");
|
| + t2 = C.JSString_methods.substring$2(component, sectionStart, index);
|
| + buffer._contents = buffer._contents + t2;
|
| + buffer._contents += H.S(replacement);
|
| + if (typeof sourceLength !== "number")
|
| + return H.iae(sourceLength);
|
| + index += sourceLength;
|
| + sectionStart = index;
|
| + }
|
| + }
|
| + if (buffer == null)
|
| + return t1.substring$2(component, start, end);
|
| + if (sectionStart < end)
|
| + buffer._contents += t1.substring$2(component, sectionStart, end);
|
| + t1 = buffer._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }, Uri_decodeComponent: [function(encodedComponent) {
|
| + return P.Uri__uriDecode(encodedComponent, C.Utf8Codec_false, false);
|
| + }, "call$1", "Uri_decodeComponent$closure", 2, 0, 48], Uri_splitQueryString: function(query, encoding) {
|
| + return C.JSArray_methods.fold$2(query.split("&"), P.LinkedHashMap_LinkedHashMap$_empty(null, null), new P.Uri_splitQueryString_closure(encoding));
|
| + }, Uri_parseIPv4Address: function(host) {
|
| + var t1, bytes;
|
| + t1 = new P.Uri_parseIPv4Address_error();
|
| + bytes = host.split(".");
|
| + if (bytes.length !== 4)
|
| + t1.call$1("IPv4 address should contain exactly 4 parts");
|
| + return H.setRuntimeTypeInfo(new H.MappedListIterable(bytes, new P.Uri_parseIPv4Address_closure(t1)), [null, null]).toList$0(0);
|
| + }, Uri_parseIPv6Address: function(host, start, end) {
|
| + var error, parseHex, parts, partStart, last, i, wildcardSeen, t1, atEnd, isLastWildcard, exception, t2, bytes, index, value, wildCardLength, j;
|
| + if (end == null)
|
| + end = J.get$length$asx(host);
|
| + error = new P.Uri_parseIPv6Address_error(host);
|
| + parseHex = new P.Uri_parseIPv6Address_parseHex(host, error);
|
| + if (J.get$length$asx(host) < 2)
|
| + error.call$1("address is too short");
|
| + parts = [];
|
| + partStart = start;
|
| + i = start;
|
| + wildcardSeen = false;
|
| + while (true) {
|
| + t1 = end;
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + if (!(i < t1))
|
| + break;
|
| + if (J.codeUnitAt$1$s(host, i) === 58) {
|
| + if (i === start) {
|
| + ++i;
|
| + if (J.codeUnitAt$1$s(host, i) !== 58)
|
| + error.call$2("invalid start colon.", i);
|
| + partStart = i;
|
| + }
|
| + if (i === partStart) {
|
| + if (wildcardSeen)
|
| + error.call$2("only one wildcard `::` is allowed", i);
|
| + J.add$1$ax(parts, -1);
|
| + wildcardSeen = true;
|
| + } else
|
| + J.add$1$ax(parts, parseHex.call$2(partStart, i));
|
| + partStart = i + 1;
|
| + }
|
| + ++i;
|
| + }
|
| + if (J.get$length$asx(parts) === 0)
|
| + error.call$1("too few parts");
|
| + atEnd = J.$eq(partStart, end);
|
| + isLastWildcard = J.$eq(J.get$last$ax(parts), -1);
|
| + if (atEnd && !isLastWildcard)
|
| + error.call$2("expected a part after last `:`", end);
|
| + if (!atEnd)
|
| + try {
|
| + J.add$1$ax(parts, parseHex.call$2(partStart, end));
|
| + } catch (exception) {
|
| + H.unwrapException(exception);
|
| + try {
|
| + last = P.Uri_parseIPv4Address(J.substring$2$s(host, partStart, end));
|
| + t1 = J.$index$asx(last, 0);
|
| + if (typeof t1 !== "number")
|
| + return t1.$shl();
|
| + t2 = J.$index$asx(last, 1);
|
| + if (typeof t2 !== "number")
|
| + return H.iae(t2);
|
| + J.add$1$ax(parts, (t1 << 8 | t2) >>> 0);
|
| + t2 = J.$index$asx(last, 2);
|
| + if (typeof t2 !== "number")
|
| + return t2.$shl();
|
| + t1 = J.$index$asx(last, 3);
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + J.add$1$ax(parts, (t2 << 8 | t1) >>> 0);
|
| + } catch (exception) {
|
| + H.unwrapException(exception);
|
| + error.call$2("invalid end of IPv6 address.", partStart);
|
| + }
|
| + }
|
| + if (wildcardSeen) {
|
| + if (J.get$length$asx(parts) > 7)
|
| + error.call$1("an address with a wildcard must have less than 7 parts");
|
| + } else if (J.get$length$asx(parts) !== 8)
|
| + error.call$1("an address without a wildcard must contain exactly 8 parts");
|
| + bytes = Array(16);
|
| + bytes.$builtinTypeInfo = [P.$int];
|
| + i = 0;
|
| + index = 0;
|
| + while (true) {
|
| + t1 = J.get$length$asx(parts);
|
| + if (typeof t1 !== "number")
|
| + return H.iae(t1);
|
| + if (!(i < t1))
|
| + break;
|
| + value = J.$index$asx(parts, i);
|
| + if (J.getInterceptor(value).$eq(value, -1)) {
|
| + wildCardLength = 9 - J.get$length$asx(parts);
|
| + for (j = 0; j < wildCardLength; ++j) {
|
| + if (index < 0 || index >= 16)
|
| + return H.ioore(bytes, index);
|
| + bytes[index] = 0;
|
| + t1 = index + 1;
|
| + if (t1 >= 16)
|
| + return H.ioore(bytes, t1);
|
| + bytes[t1] = 0;
|
| + index += 2;
|
| + }
|
| + } else {
|
| + if (typeof value !== "number")
|
| + return value.$shr();
|
| + t1 = C.JSNumber_methods._shrOtherPositive$1(value, 8);
|
| + if (index < 0 || index >= 16)
|
| + return H.ioore(bytes, index);
|
| + bytes[index] = t1;
|
| + t1 = index + 1;
|
| + if (t1 >= 16)
|
| + return H.ioore(bytes, t1);
|
| + bytes[t1] = value & 255;
|
| + index += 2;
|
| + }
|
| + ++i;
|
| + }
|
| + return bytes;
|
| + }, Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus) {
|
| + var t1, result, bytes, t2, i, $byte, t3;
|
| + t1 = new P.Uri__uriEncode_byteToHex();
|
| + result = new P.StringBuffer("");
|
| + bytes = encoding.get$encoder().convert$1(text);
|
| + for (t2 = bytes.length, i = 0; i < t2; ++i) {
|
| + $byte = bytes[i];
|
| + if ($byte < 128) {
|
| + t3 = $byte >>> 4;
|
| + if (t3 >= 8)
|
| + return H.ioore(canonicalTable, t3);
|
| + t3 = (canonicalTable[t3] & C.JSInt_methods._shlPositive$1(1, $byte & 15)) !== 0;
|
| + } else
|
| + t3 = false;
|
| + if (t3)
|
| + result._contents += H.Primitives_stringFromCharCode($byte);
|
| + else if (spaceToPlus && $byte === 32)
|
| + result._contents += H.Primitives_stringFromCharCode(43);
|
| + else {
|
| + result._contents += H.Primitives_stringFromCharCode(37);
|
| + t1.call$2($byte, result);
|
| + }
|
| + }
|
| + t1 = result._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + }, Uri__hexCharPairToByte: function(s, pos) {
|
| + var $byte, i, charCode;
|
| + for ($byte = 0, i = 0; i < 2; ++i) {
|
| + charCode = C.JSString_methods.codeUnitAt$1(s, pos + i);
|
| + if (48 <= charCode && charCode <= 57)
|
| + $byte = $byte * 16 + charCode - 48;
|
| + else {
|
| + charCode |= 32;
|
| + if (97 <= charCode && charCode <= 102)
|
| + $byte = $byte * 16 + charCode - 87;
|
| + else
|
| + throw H.wrapException(P.ArgumentError$("Invalid URL encoding"));
|
| + }
|
| + }
|
| + return $byte;
|
| + }, Uri__uriDecode: function(text, encoding, plusToSpace) {
|
| + var t1, simple, i, t2, codeUnit, bytes, allowMalformed;
|
| + t1 = J.getInterceptor$asx(text);
|
| + simple = true;
|
| + i = 0;
|
| + while (true) {
|
| + t2 = t1.get$length(text);
|
| + if (typeof t2 !== "number")
|
| + return H.iae(t2);
|
| + if (!(i < t2 && simple))
|
| + break;
|
| + codeUnit = t1.codeUnitAt$1(text, i);
|
| + simple = codeUnit !== 37 && codeUnit !== 43;
|
| + ++i;
|
| + }
|
| + if (simple)
|
| + if (encoding === C.Utf8Codec_false || false)
|
| + return text;
|
| + else
|
| + bytes = t1.get$codeUnits(text);
|
| + else {
|
| + bytes = [];
|
| + i = 0;
|
| + while (true) {
|
| + t2 = t1.get$length(text);
|
| + if (typeof t2 !== "number")
|
| + return H.iae(t2);
|
| + if (!(i < t2))
|
| + break;
|
| + codeUnit = t1.codeUnitAt$1(text, i);
|
| + if (codeUnit > 127)
|
| + throw H.wrapException(P.ArgumentError$("Illegal percent encoding in URI"));
|
| + if (codeUnit === 37) {
|
| + if (i + 3 > text.length)
|
| + throw H.wrapException(P.ArgumentError$("Truncated URI"));
|
| + bytes.push(P.Uri__hexCharPairToByte(text, i + 1));
|
| + i += 2;
|
| + } else if (plusToSpace && codeUnit === 43)
|
| + bytes.push(32);
|
| + else
|
| + bytes.push(codeUnit);
|
| + ++i;
|
| + }
|
| + }
|
| + allowMalformed = encoding._allowMalformed;
|
| + return new P.Utf8Decoder(allowMalformed).convert$1(bytes);
|
| + }}
|
| + },
|
| + Uri_parse_isRegName: {
|
| + "^": "Closure:21;",
|
| + call$1: function(ch) {
|
| + ch.$lt(0, 128);
|
| + return false;
|
| + }
|
| + },
|
| + Uri_parse_parseAuth: {
|
| + "^": "Closure:1;box_0,uri_1,EOI_2",
|
| + call$0: function() {
|
| + var t1, t2, t3, authStart, $char, lastColon, lastAt, char0, endBracket, hostEnd, hostStart, i, portNumber, digit;
|
| + t1 = this.box_0;
|
| + t2 = this.uri_1;
|
| + t3 = J.getInterceptor$asx(t2);
|
| + if (t1.index_4 === t3.get$length(t2)) {
|
| + t1.char_5 = this.EOI_2;
|
| + return;
|
| + }
|
| + authStart = t1.index_4;
|
| + t1.char_5 = t3.codeUnitAt$1(t2, authStart);
|
| + for ($char = this.EOI_2, lastColon = -1, lastAt = -1; t1.index_4 < t2.length;) {
|
| + char0 = C.JSString_methods.codeUnitAt$1(t2, t1.index_4);
|
| + t1.char_5 = char0;
|
| + if (char0 === 47 || char0 === 63 || char0 === 35)
|
| + break;
|
| + if (char0 === 64) {
|
| + lastAt = t1.index_4;
|
| + lastColon = -1;
|
| + } else if (char0 === 58)
|
| + lastColon = t1.index_4;
|
| + else if (char0 === 91) {
|
| + endBracket = C.JSString_methods.indexOf$2(t2, "]", t1.index_4 + 1);
|
| + if (endBracket === -1) {
|
| + t1.index_4 = t2.length;
|
| + t1.char_5 = $char;
|
| + lastColon = -1;
|
| + break;
|
| + } else
|
| + t1.index_4 = endBracket;
|
| + lastColon = -1;
|
| + }
|
| + ++t1.index_4;
|
| + t1.char_5 = $char;
|
| + }
|
| + hostEnd = t1.index_4;
|
| + if (lastAt >= 0) {
|
| + t1.userinfo_1 = P.Uri__makeUserInfo(t2, authStart, lastAt);
|
| + hostStart = lastAt + 1;
|
| + } else
|
| + hostStart = authStart;
|
| + if (lastColon >= 0) {
|
| + i = lastColon + 1;
|
| + if (i < t1.index_4)
|
| + for (portNumber = 0; i < t1.index_4; ++i) {
|
| + digit = C.JSString_methods.codeUnitAt$1(t2, i);
|
| + if (48 > digit || 57 < digit)
|
| + P.Uri__fail(t2, i, "Invalid port number");
|
| + portNumber = portNumber * 10 + (digit - 48);
|
| + }
|
| + else
|
| + portNumber = null;
|
| + t1.port_3 = P.Uri__makePort(portNumber, t1.scheme_0);
|
| + hostEnd = lastColon;
|
| + }
|
| + t1.host_2 = P.Uri__makeHost(t2, hostStart, hostEnd, true);
|
| + if (t1.index_4 < t2.length)
|
| + t1.char_5 = C.JSString_methods.codeUnitAt$1(t2, t1.index_4);
|
| + }
|
| + },
|
| + Uri__checkNonWindowsPathReservedCharacters_closure: {
|
| + "^": "Closure:2;argumentError_0",
|
| + call$1: function(segment) {
|
| + if (J.contains$1$asx(segment, "/") === true)
|
| + if (this.argumentError_0)
|
| + throw H.wrapException(P.ArgumentError$("Illegal path character " + H.S(segment)));
|
| + else
|
| + throw H.wrapException(P.UnsupportedError$("Illegal path character " + H.S(segment)));
|
| + }
|
| + },
|
| + Uri__checkWindowsPathReservedCharacters_closure: {
|
| + "^": "Closure:2;argumentError_0",
|
| + call$1: function(segment) {
|
| + if (J.contains$1$asx(segment, new H.JSSyntaxRegExp("[\"*/:<>?\\\\|]", H.JSSyntaxRegExp_makeNative("[\"*/:<>?\\\\|]", false, true, false), null, null)) === true)
|
| + if (this.argumentError_0)
|
| + throw H.wrapException(P.ArgumentError$("Illegal character in path"));
|
| + else
|
| + throw H.wrapException(P.UnsupportedError$("Illegal character in path"));
|
| + }
|
| + },
|
| + Uri__makePath_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(s) {
|
| + return P.Uri__uriEncode(C.List_qg40, s, C.Utf8Codec_false, false);
|
| + }
|
| + },
|
| + Uri__makeQuery_closure: {
|
| + "^": "Closure:15;box_0,result_1",
|
| + call$2: function(key, value) {
|
| + var t1 = this.box_0;
|
| + if (!t1.first_0)
|
| + this.result_1._contents += "&";
|
| + t1.first_0 = false;
|
| + t1 = this.result_1;
|
| + t1._contents += P.Uri__uriEncode(C.List_nxB, key, C.Utf8Codec_false, true);
|
| + value.get$isEmpty(value);
|
| + t1._contents += "=";
|
| + t1._contents += P.Uri__uriEncode(C.List_nxB, value, C.Utf8Codec_false, true);
|
| + }
|
| + },
|
| + Uri_hashCode_combine: {
|
| + "^": "Closure:22;",
|
| + call$2: function(part, current) {
|
| + return current * 31 + J.get$hashCode$(part) & 1073741823;
|
| + }
|
| + },
|
| + Uri_splitQueryString_closure: {
|
| + "^": "Closure:15;encoding_0",
|
| + call$2: function(map, element) {
|
| + var t1, index, key, value;
|
| + t1 = J.getInterceptor$asx(element);
|
| + index = t1.indexOf$1(element, "=");
|
| + if (index === -1) {
|
| + if (element !== "")
|
| + J.$indexSet$ax(map, P.Uri__uriDecode(element, this.encoding_0, true), "");
|
| + } else if (index !== 0) {
|
| + key = t1.substring$2(element, 0, index);
|
| + value = C.JSString_methods.substring$1(element, index + 1);
|
| + t1 = this.encoding_0;
|
| + J.$indexSet$ax(map, P.Uri__uriDecode(key, t1, true), P.Uri__uriDecode(value, t1, true));
|
| + }
|
| + return map;
|
| + }
|
| + },
|
| + Uri_parseIPv4Address_error: {
|
| + "^": "Closure:23;",
|
| + call$1: function(msg) {
|
| + throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, null, null));
|
| + }
|
| + },
|
| + Uri_parseIPv4Address_closure: {
|
| + "^": "Closure:2;error_0",
|
| + call$1: function(byteString) {
|
| + var $byte, t1;
|
| + $byte = H.Primitives_parseInt(byteString, null, null);
|
| + t1 = J.getInterceptor$n($byte);
|
| + if (t1.$lt($byte, 0) || t1.$gt($byte, 255))
|
| + this.error_0.call$1("each part must be in the range of `0..255`");
|
| + return $byte;
|
| + }
|
| + },
|
| + Uri_parseIPv6Address_error: {
|
| + "^": "Closure:24;host_0",
|
| + call$2: function(msg, position) {
|
| + throw H.wrapException(P.FormatException$("Illegal IPv6 address, " + msg, this.host_0, position));
|
| + },
|
| + call$1: function(msg) {
|
| + return this.call$2(msg, null);
|
| + }
|
| + },
|
| + Uri_parseIPv6Address_parseHex: {
|
| + "^": "Closure:25;host_1,error_2",
|
| + call$2: function(start, end) {
|
| + var value, t1;
|
| + if (J.$gt$n(J.$sub$n(end, start), 4))
|
| + this.error_2.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start);
|
| + value = H.Primitives_parseInt(C.JSString_methods.substring$2(this.host_1, start, end), 16, null);
|
| + t1 = J.getInterceptor$n(value);
|
| + if (t1.$lt(value, 0) || t1.$gt(value, 65535))
|
| + this.error_2.call$2("each part must be in the range of `0x0..0xFFFF`", start);
|
| + return value;
|
| + }
|
| + },
|
| + Uri__uriEncode_byteToHex: {
|
| + "^": "Closure:15;",
|
| + call$2: function($byte, buffer) {
|
| + buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $byte >>> 4));
|
| + buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $byte & 15));
|
| + }
|
| + }
|
| +}],
|
| +["dart.dom.html", "dart:html", , W, {
|
| + "^": "",
|
| + WebSocket_WebSocket: function(url, protocol_OR_protocols) {
|
| + return new WebSocket(url);
|
| + },
|
| + _JenkinsSmiHash_combine: function(hash, value) {
|
| + hash = 536870911 & hash + value;
|
| + hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0);
|
| + return hash ^ hash >>> 6;
|
| + },
|
| + _JenkinsSmiHash_finish: function(hash) {
|
| + hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0);
|
| + hash ^= hash >>> 11;
|
| + return 536870911 & hash + ((16383 & hash) << 15 >>> 0);
|
| + },
|
| + _convertNativeToDart_Window: function(win) {
|
| + if (win == null)
|
| + return;
|
| + return W._DOMWindowCrossFrame__createSafe(win);
|
| + },
|
| + _wrapZone: function(callback) {
|
| + if (J.$eq($.Zone__current, C.C__RootZone))
|
| + return callback;
|
| + return $.Zone__current.bindUnaryCallback$2$runGuarded(callback, true);
|
| + },
|
| + HtmlElement: {
|
| + "^": "Element;",
|
| + $isHtmlElement: 1,
|
| + $isElement: 1,
|
| + $isNode: 1,
|
| + $isObject: 1,
|
| + "%": "HTMLAppletElement|HTMLBRElement|HTMLBaseElement|HTMLButtonElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMenuElement|HTMLMenuItemElement|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOptGroupElement|HTMLOptionElement|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPictureElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTMLShadowElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTextAreaElement|HTMLTitleElement|HTMLUListElement|HTMLUnknownElement;HTMLElement"
|
| + },
|
| + AnchorElement: {
|
| + "^": "HtmlElement;origin=",
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + },
|
| + $isInterceptor: 1,
|
| + "%": "HTMLAnchorElement"
|
| + },
|
| + ApplicationCacheErrorEvent: {
|
| + "^": "Event;message=",
|
| + "%": "ApplicationCacheErrorEvent"
|
| + },
|
| + AreaElement: {
|
| + "^": "HtmlElement;origin=",
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + },
|
| + $isInterceptor: 1,
|
| + "%": "HTMLAreaElement"
|
| + },
|
| + Blob: {
|
| + "^": "Interceptor;",
|
| + close$0: function(receiver) {
|
| + return receiver.close();
|
| + },
|
| + $isBlob: 1,
|
| + "%": ";Blob"
|
| + },
|
| + BodyElement: {
|
| + "^": "HtmlElement;",
|
| + get$onLoad: function(receiver) {
|
| + return H.setRuntimeTypeInfo(new W._ElementEventStreamImpl(receiver, "load", false), [null]);
|
| + },
|
| + $isInterceptor: 1,
|
| + "%": "HTMLBodyElement"
|
| + },
|
| + CharacterData: {
|
| + "^": "Node;data=,length=",
|
| + $isInterceptor: 1,
|
| + "%": "CDATASection|CharacterData|Comment|ProcessingInstruction|Text"
|
| + },
|
| + CompositionEvent: {
|
| + "^": "UIEvent;data=",
|
| + "%": "CompositionEvent"
|
| + },
|
| + CssStyleDeclaration: {
|
| + "^": "Interceptor_CssStyleDeclarationBase;length=",
|
| + "%": "CSS2Properties|CSSStyleDeclaration|MSStyleCSSProperties"
|
| + },
|
| + Interceptor_CssStyleDeclarationBase: {
|
| + "^": "Interceptor+CssStyleDeclarationBase;"
|
| + },
|
| + CssStyleDeclarationBase: {
|
| + "^": "Object;"
|
| + },
|
| + DocumentFragment: {
|
| + "^": "Node;",
|
| + $isInterceptor: 1,
|
| + "%": "DocumentFragment|ShadowRoot"
|
| + },
|
| + DomError: {
|
| + "^": "Interceptor;message=",
|
| + "%": "DOMError|FileError"
|
| + },
|
| + DomException: {
|
| + "^": "Interceptor;message=",
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + },
|
| + "%": "DOMException"
|
| + },
|
| + DomRectReadOnly: {
|
| + "^": "Interceptor;bottom=,height=,left=,right=,top=,width=",
|
| + toString$0: function(receiver) {
|
| + return "Rectangle (" + H.S(receiver.left) + ", " + H.S(receiver.top) + ") " + H.S(this.get$width(receiver)) + " x " + H.S(this.get$height(receiver));
|
| + },
|
| + $eq: function(receiver, other) {
|
| + var t1, t2, t3;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + if (!t1.$isRectangle)
|
| + return false;
|
| + t2 = receiver.left;
|
| + t3 = t1.get$left(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = receiver.top;
|
| + t3 = t1.get$top(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = this.get$width(receiver);
|
| + t3 = t1.get$width(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = this.get$height(receiver);
|
| + t1 = t1.get$height(other);
|
| + t1 = t2 == null ? t1 == null : t2 === t1;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + return t1;
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + var t1, t2, t3, t4;
|
| + t1 = J.get$hashCode$(receiver.left);
|
| + t2 = J.get$hashCode$(receiver.top);
|
| + t3 = J.get$hashCode$(this.get$width(receiver));
|
| + t4 = J.get$hashCode$(this.get$height(receiver));
|
| + return W._JenkinsSmiHash_finish(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(0, t1), t2), t3), t4));
|
| + },
|
| + $isRectangle: 1,
|
| + $asRectangle: $.functionThatReturnsNull,
|
| + "%": ";DOMRectReadOnly"
|
| + },
|
| + Element: {
|
| + "^": "Node;",
|
| + toString$0: function(receiver) {
|
| + return receiver.localName;
|
| + },
|
| + get$onLoad: function(receiver) {
|
| + return H.setRuntimeTypeInfo(new W._ElementEventStreamImpl(receiver, "load", false), [null]);
|
| + },
|
| + $isElement: 1,
|
| + $isNode: 1,
|
| + $isObject: 1,
|
| + $isInterceptor: 1,
|
| + "%": ";Element"
|
| + },
|
| + EmbedElement: {
|
| + "^": "HtmlElement;src}",
|
| + "%": "HTMLEmbedElement"
|
| + },
|
| + ErrorEvent: {
|
| + "^": "Event;error=,message=",
|
| + "%": "ErrorEvent"
|
| + },
|
| + Event: {
|
| + "^": "Interceptor;",
|
| + "%": "AnimationPlayerEvent|AudioProcessingEvent|AutocompleteErrorEvent|BeforeUnloadEvent|CloseEvent|CustomEvent|DeviceLightEvent|DeviceMotionEvent|DeviceOrientationEvent|FetchEvent|FontFaceSetLoadEvent|GamepadEvent|HashChangeEvent|IDBVersionChangeEvent|InstallEvent|InstallPhaseEvent|MIDIConnectionEvent|MediaKeyNeededEvent|MediaStreamEvent|MediaStreamTrackEvent|MutationEvent|OfflineAudioCompletionEvent|OverflowEvent|PageTransitionEvent|PopStateEvent|ProgressEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|RelatedEvent|ResourceProgressEvent|SecurityPolicyViolationEvent|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|TrackEvent|TransitionEvent|WebGLContextEvent|WebKitAnimationEvent|WebKitTransitionEvent|XMLHttpRequestProgressEvent;ClipboardEvent|Event|InputEvent"
|
| + },
|
| + EventTarget: {
|
| + "^": "Interceptor;",
|
| + _addEventListener$3: function(receiver, type, listener, useCapture) {
|
| + return receiver.addEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
|
| + },
|
| + _removeEventListener$3: function(receiver, type, listener, useCapture) {
|
| + return receiver.removeEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
|
| + },
|
| + "%": "MediaStream;EventTarget"
|
| + },
|
| + File: {
|
| + "^": "Blob;",
|
| + $isFile: 1,
|
| + "%": "File"
|
| + },
|
| + FormElement: {
|
| + "^": "HtmlElement;length=",
|
| + "%": "HTMLFormElement"
|
| + },
|
| + HtmlCollection: {
|
| + "^": "Interceptor_ListMixin_ImmutableListMixin;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + if (index >>> 0 !== index || index >= receiver.length)
|
| + throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
|
| + },
|
| + set$length: function(receiver, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
|
| + },
|
| + get$last: function(receiver) {
|
| + var len = receiver.length;
|
| + if (len > 0)
|
| + return receiver[len - 1];
|
| + throw H.wrapException(P.StateError$("No elements"));
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + if (index < 0 || index >= receiver.length)
|
| + return H.ioore(receiver, index);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isEfficientLength: 1,
|
| + $isJavaScriptIndexingBehavior: 1,
|
| + $isJSIndexable: 1,
|
| + "%": "HTMLCollection|HTMLFormControlsCollection|HTMLOptionsCollection"
|
| + },
|
| + Interceptor_ListMixin: {
|
| + "^": "Interceptor+ListMixin;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + Interceptor_ListMixin_ImmutableListMixin: {
|
| + "^": "Interceptor_ListMixin+ImmutableListMixin;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + IFrameElement: {
|
| + "^": "HtmlElement;src}",
|
| + get$contentWindow: function(receiver) {
|
| + return W._convertNativeToDart_Window(receiver.contentWindow);
|
| + },
|
| + "%": "HTMLIFrameElement"
|
| + },
|
| + ImageElement: {
|
| + "^": "HtmlElement;src}",
|
| + "%": "HTMLImageElement"
|
| + },
|
| + InputElement: {
|
| + "^": "HtmlElement;src}",
|
| + $isInterceptor: 1,
|
| + "%": "HTMLInputElement"
|
| + },
|
| + KeyboardEvent: {
|
| + "^": "UIEvent;location=",
|
| + "%": "KeyboardEvent"
|
| + },
|
| + Location: {
|
| + "^": "Interceptor;",
|
| + get$origin: function(receiver) {
|
| + if ("origin" in receiver)
|
| + return receiver.origin;
|
| + return H.S(receiver.protocol) + "//" + H.S(receiver.host);
|
| + },
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + },
|
| + "%": "Location"
|
| + },
|
| + MediaElement: {
|
| + "^": "HtmlElement;error=,src}",
|
| + "%": "HTMLAudioElement|HTMLMediaElement|HTMLVideoElement"
|
| + },
|
| + MediaKeyEvent: {
|
| + "^": "Event;message=",
|
| + "%": "MediaKeyEvent"
|
| + },
|
| + MediaKeyMessageEvent: {
|
| + "^": "Event;message=",
|
| + "%": "MediaKeyMessageEvent"
|
| + },
|
| + MessageEvent: {
|
| + "^": "Event;origin=",
|
| + get$data: function(receiver) {
|
| + return P.convertNativeToDart_AcceptStructuredClone(receiver.data, true);
|
| + },
|
| + "%": "MessageEvent"
|
| + },
|
| + MidiMessageEvent: {
|
| + "^": "Event;data=",
|
| + "%": "MIDIMessageEvent"
|
| + },
|
| + MidiOutput: {
|
| + "^": "MidiPort;",
|
| + send$2: function(receiver, data, timestamp) {
|
| + return receiver.send(data, timestamp);
|
| + },
|
| + send$1: function($receiver, data) {
|
| + return $receiver.send(data);
|
| + },
|
| + "%": "MIDIOutput"
|
| + },
|
| + MidiPort: {
|
| + "^": "EventTarget;",
|
| + "%": "MIDIInput;MIDIPort"
|
| + },
|
| + Navigator: {
|
| + "^": "Interceptor;",
|
| + $isInterceptor: 1,
|
| + "%": "Navigator"
|
| + },
|
| + NavigatorUserMediaError: {
|
| + "^": "Interceptor;message=",
|
| + "%": "NavigatorUserMediaError"
|
| + },
|
| + Node: {
|
| + "^": "EventTarget;parent:parentElement=",
|
| + toString$0: function(receiver) {
|
| + var value = receiver.nodeValue;
|
| + return value == null ? this.super$Interceptor$toString$0(receiver) : value;
|
| + },
|
| + contains$1: function(receiver, other) {
|
| + return receiver.contains(other);
|
| + },
|
| + $isNode: 1,
|
| + $isObject: 1,
|
| + "%": "Attr|Document|HTMLDocument|Notation|XMLDocument;Node"
|
| + },
|
| + NodeList: {
|
| + "^": "Interceptor_ListMixin_ImmutableListMixin0;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + if (index >>> 0 !== index || index >= receiver.length)
|
| + throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
|
| + },
|
| + set$length: function(receiver, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
|
| + },
|
| + get$last: function(receiver) {
|
| + var len = receiver.length;
|
| + if (len > 0)
|
| + return receiver[len - 1];
|
| + throw H.wrapException(P.StateError$("No elements"));
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + if (index < 0 || index >= receiver.length)
|
| + return H.ioore(receiver, index);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isEfficientLength: 1,
|
| + $isJavaScriptIndexingBehavior: 1,
|
| + $isJSIndexable: 1,
|
| + "%": "NodeList|RadioNodeList"
|
| + },
|
| + Interceptor_ListMixin0: {
|
| + "^": "Interceptor+ListMixin;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + Interceptor_ListMixin_ImmutableListMixin0: {
|
| + "^": "Interceptor_ListMixin0+ImmutableListMixin;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + OListElement: {
|
| + "^": "HtmlElement;start=",
|
| + "%": "HTMLOListElement"
|
| + },
|
| + ObjectElement: {
|
| + "^": "HtmlElement;data=",
|
| + "%": "HTMLObjectElement"
|
| + },
|
| + PositionError: {
|
| + "^": "Interceptor;message=",
|
| + "%": "PositionError"
|
| + },
|
| + PushEvent: {
|
| + "^": "Event;data=",
|
| + "%": "PushEvent"
|
| + },
|
| + ScriptElement: {
|
| + "^": "HtmlElement;src}",
|
| + "%": "HTMLScriptElement"
|
| + },
|
| + SelectElement: {
|
| + "^": "HtmlElement;length=",
|
| + "%": "HTMLSelectElement"
|
| + },
|
| + SourceElement: {
|
| + "^": "HtmlElement;src}",
|
| + "%": "HTMLSourceElement"
|
| + },
|
| + SpeechRecognitionError: {
|
| + "^": "Event;error=,message=",
|
| + "%": "SpeechRecognitionError"
|
| + },
|
| + TextEvent: {
|
| + "^": "UIEvent;data=",
|
| + "%": "TextEvent"
|
| + },
|
| + TrackElement: {
|
| + "^": "HtmlElement;src}",
|
| + "%": "HTMLTrackElement"
|
| + },
|
| + UIEvent: {
|
| + "^": "Event;",
|
| + "%": "DragEvent|FocusEvent|MSPointerEvent|MouseEvent|MouseScrollEvent|MouseWheelEvent|PointerEvent|SVGZoomEvent|TouchEvent|WheelEvent;UIEvent"
|
| + },
|
| + WebSocket: {
|
| + "^": "EventTarget;",
|
| + close$2: function(receiver, code, reason) {
|
| + return receiver.close(code, reason);
|
| + },
|
| + close$0: function($receiver) {
|
| + return $receiver.close();
|
| + },
|
| + send$1: function(receiver, data) {
|
| + return receiver.send(data);
|
| + },
|
| + "%": "WebSocket"
|
| + },
|
| + Window: {
|
| + "^": "EventTarget;",
|
| + get$location: function(receiver) {
|
| + return receiver.location;
|
| + },
|
| + get$parent: function(receiver) {
|
| + return W._convertNativeToDart_Window(receiver.parent);
|
| + },
|
| + close$0: function(receiver) {
|
| + return receiver.close();
|
| + },
|
| + postMessage$3: function(receiver, message, targetOrigin, transfer) {
|
| + receiver.postMessage(P._convertDartToNative_PrepareForStructuredClone(message), targetOrigin);
|
| + return;
|
| + },
|
| + postMessage$2: function($receiver, message, targetOrigin) {
|
| + return this.postMessage$3($receiver, message, targetOrigin, null);
|
| + },
|
| + $isInterceptor: 1,
|
| + "%": "DOMWindow|Window"
|
| + },
|
| + _ClientRect: {
|
| + "^": "Interceptor;bottom=,height=,left=,right=,top=,width=",
|
| + toString$0: function(receiver) {
|
| + return "Rectangle (" + H.S(receiver.left) + ", " + H.S(receiver.top) + ") " + H.S(receiver.width) + " x " + H.S(receiver.height);
|
| + },
|
| + $eq: function(receiver, other) {
|
| + var t1, t2, t3;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + if (!t1.$isRectangle)
|
| + return false;
|
| + t2 = receiver.left;
|
| + t3 = t1.get$left(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = receiver.top;
|
| + t3 = t1.get$top(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = receiver.width;
|
| + t3 = t1.get$width(other);
|
| + if (t2 == null ? t3 == null : t2 === t3) {
|
| + t2 = receiver.height;
|
| + t1 = t1.get$height(other);
|
| + t1 = t2 == null ? t1 == null : t2 === t1;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + } else
|
| + t1 = false;
|
| + return t1;
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + var t1, t2, t3, t4;
|
| + t1 = J.get$hashCode$(receiver.left);
|
| + t2 = J.get$hashCode$(receiver.top);
|
| + t3 = J.get$hashCode$(receiver.width);
|
| + t4 = J.get$hashCode$(receiver.height);
|
| + return W._JenkinsSmiHash_finish(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(0, t1), t2), t3), t4));
|
| + },
|
| + $isRectangle: 1,
|
| + $asRectangle: $.functionThatReturnsNull,
|
| + "%": "ClientRect"
|
| + },
|
| + _DocumentType: {
|
| + "^": "Node;",
|
| + $isInterceptor: 1,
|
| + "%": "DocumentType"
|
| + },
|
| + _DomRect: {
|
| + "^": "DomRectReadOnly;",
|
| + get$height: function(receiver) {
|
| + return receiver.height;
|
| + },
|
| + get$width: function(receiver) {
|
| + return receiver.width;
|
| + },
|
| + "%": "DOMRect"
|
| + },
|
| + _HTMLFrameSetElement: {
|
| + "^": "HtmlElement;",
|
| + $isInterceptor: 1,
|
| + "%": "HTMLFrameSetElement"
|
| + },
|
| + _EventStream: {
|
| + "^": "Stream;_html$_target,_eventType,_useCapture",
|
| + listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
|
| + var t1 = new W._EventStreamSubscription(0, this._html$_target, this._eventType, W._wrapZone(onData), this._useCapture);
|
| + t1.$builtinTypeInfo = this.$builtinTypeInfo;
|
| + t1._tryResume$0();
|
| + return t1;
|
| + },
|
| + listen$3$onDone$onError: function(onData, onDone, onError) {
|
| + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
|
| + }
|
| + },
|
| + _ElementEventStreamImpl: {
|
| + "^": "_EventStream;_html$_target,_eventType,_useCapture"
|
| + },
|
| + _EventStreamSubscription: {
|
| + "^": "StreamSubscription;_pauseCount,_html$_target,_eventType,_html$_onData,_useCapture",
|
| + cancel$0: function() {
|
| + if (this._html$_target == null)
|
| + return;
|
| + this._unlisten$0();
|
| + this._html$_target = null;
|
| + this._html$_onData = null;
|
| + return;
|
| + },
|
| + pause$1: function(_, resumeSignal) {
|
| + if (this._html$_target == null)
|
| + return;
|
| + ++this._pauseCount;
|
| + this._unlisten$0();
|
| + },
|
| + pause$0: function($receiver) {
|
| + return this.pause$1($receiver, null);
|
| + },
|
| + resume$0: function() {
|
| + if (this._html$_target == null || this._pauseCount <= 0)
|
| + return;
|
| + --this._pauseCount;
|
| + this._tryResume$0();
|
| + },
|
| + _tryResume$0: function() {
|
| + var t1, t2, t3;
|
| + t1 = this._html$_onData;
|
| + t2 = t1 != null;
|
| + if (t2 && this._pauseCount <= 0) {
|
| + t3 = this._html$_target;
|
| + t3.toString;
|
| + if (t2)
|
| + J._addEventListener$3$x(t3, this._eventType, t1, this._useCapture);
|
| + }
|
| + },
|
| + _unlisten$0: function() {
|
| + var t1, t2, t3;
|
| + t1 = this._html$_onData;
|
| + t2 = t1 != null;
|
| + if (t2) {
|
| + t3 = this._html$_target;
|
| + t3.toString;
|
| + if (t2)
|
| + J._removeEventListener$3$x(t3, this._eventType, t1, this._useCapture);
|
| + }
|
| + }
|
| + },
|
| + ImmutableListMixin: {
|
| + "^": "Object;",
|
| + get$iterator: function(receiver) {
|
| + return new W.FixedSizeListIterator(receiver, this.get$length(receiver), -1, null);
|
| + },
|
| + add$1: function(receiver, value) {
|
| + throw H.wrapException(P.UnsupportedError$("Cannot add to immutable List."));
|
| + },
|
| + $isList: 1,
|
| + $asList: null,
|
| + $isEfficientLength: 1
|
| + },
|
| + FixedSizeListIterator: {
|
| + "^": "Object;_array,_length,_position,_html$_current",
|
| + moveNext$0: function() {
|
| + var nextPosition, t1;
|
| + nextPosition = this._position + 1;
|
| + t1 = this._length;
|
| + if (nextPosition < t1) {
|
| + this._html$_current = J.$index$asx(this._array, nextPosition);
|
| + this._position = nextPosition;
|
| + return true;
|
| + }
|
| + this._html$_current = null;
|
| + this._position = t1;
|
| + return false;
|
| + },
|
| + get$current: function() {
|
| + return this._html$_current;
|
| + }
|
| + },
|
| + _DOMWindowCrossFrame: {
|
| + "^": "Object;_window",
|
| + get$location: function(_) {
|
| + return W._LocationCrossFrame__createSafe(this._window.location);
|
| + },
|
| + get$parent: function(_) {
|
| + return W._DOMWindowCrossFrame__createSafe(this._window.parent);
|
| + },
|
| + close$0: function(_) {
|
| + return this._window.close();
|
| + },
|
| + postMessage$3: function(_, message, targetOrigin, messagePorts) {
|
| + this._window.postMessage(P._convertDartToNative_PrepareForStructuredClone(message), targetOrigin);
|
| + },
|
| + postMessage$2: function($receiver, message, targetOrigin) {
|
| + return this.postMessage$3($receiver, message, targetOrigin, null);
|
| + },
|
| + $isInterceptor: 1,
|
| + static: {_DOMWindowCrossFrame__createSafe: function(w) {
|
| + if (w === window)
|
| + return w;
|
| + else
|
| + return new W._DOMWindowCrossFrame(w);
|
| + }}
|
| + },
|
| + _LocationCrossFrame: {
|
| + "^": "Object;_location",
|
| + static: {_LocationCrossFrame__createSafe: function($location) {
|
| + if ($location === window.location)
|
| + return $location;
|
| + else
|
| + return new W._LocationCrossFrame($location);
|
| + }}
|
| + }
|
| +}],
|
| +["dart.dom.indexed_db", "dart:indexed_db", , P, {
|
| + "^": ""
|
| +}],
|
| +["dart.dom.svg", "dart:svg", , P, {
|
| + "^": "",
|
| + AElement: {
|
| + "^": "GraphicsElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGAElement"
|
| + },
|
| + AltGlyphElement: {
|
| + "^": "TextPositioningElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGAltGlyphElement"
|
| + },
|
| + AnimationElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGSetElement"
|
| + },
|
| + FEBlendElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEBlendElement"
|
| + },
|
| + FEColorMatrixElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEColorMatrixElement"
|
| + },
|
| + FEComponentTransferElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEComponentTransferElement"
|
| + },
|
| + FECompositeElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFECompositeElement"
|
| + },
|
| + FEConvolveMatrixElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEConvolveMatrixElement"
|
| + },
|
| + FEDiffuseLightingElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEDiffuseLightingElement"
|
| + },
|
| + FEDisplacementMapElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEDisplacementMapElement"
|
| + },
|
| + FEFloodElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEFloodElement"
|
| + },
|
| + FEGaussianBlurElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEGaussianBlurElement"
|
| + },
|
| + FEImageElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEImageElement"
|
| + },
|
| + FEMergeElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEMergeElement"
|
| + },
|
| + FEMorphologyElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEMorphologyElement"
|
| + },
|
| + FEOffsetElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEOffsetElement"
|
| + },
|
| + FESpecularLightingElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFESpecularLightingElement"
|
| + },
|
| + FETileElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFETileElement"
|
| + },
|
| + FETurbulenceElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFETurbulenceElement"
|
| + },
|
| + FilterElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFilterElement"
|
| + },
|
| + GraphicsElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGCircleElement|SVGClipPathElement|SVGDefsElement|SVGEllipseElement|SVGForeignObjectElement|SVGGElement|SVGGeometryElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGSwitchElement;SVGGraphicsElement"
|
| + },
|
| + ImageElement0: {
|
| + "^": "GraphicsElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGImageElement"
|
| + },
|
| + MarkerElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGMarkerElement"
|
| + },
|
| + MaskElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGMaskElement"
|
| + },
|
| + PatternElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGPatternElement"
|
| + },
|
| + ScriptElement0: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGScriptElement"
|
| + },
|
| + SvgElement: {
|
| + "^": "Element;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGAltGlyphDefElement|SVGAltGlyphItemElement|SVGComponentTransferFunctionElement|SVGDescElement|SVGDiscardElement|SVGFEDistantLightElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEMergeNodeElement|SVGFEPointLightElement|SVGFESpotLightElement|SVGFontElement|SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement|SVGGlyphElement|SVGHKernElement|SVGMetadataElement|SVGMissingGlyphElement|SVGStopElement|SVGStyleElement|SVGTitleElement|SVGVKernElement;SVGElement"
|
| + },
|
| + SvgSvgElement: {
|
| + "^": "GraphicsElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGSVGElement"
|
| + },
|
| + SymbolElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGSymbolElement"
|
| + },
|
| + TextContentElement: {
|
| + "^": "GraphicsElement;",
|
| + "%": ";SVGTextContentElement"
|
| + },
|
| + TextPathElement: {
|
| + "^": "TextContentElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGTextPathElement"
|
| + },
|
| + TextPositioningElement: {
|
| + "^": "TextContentElement;",
|
| + "%": "SVGTSpanElement|SVGTextElement;SVGTextPositioningElement"
|
| + },
|
| + UseElement: {
|
| + "^": "GraphicsElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGUseElement"
|
| + },
|
| + ViewElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGViewElement"
|
| + },
|
| + _GradientElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGGradientElement|SVGLinearGradientElement|SVGRadialGradientElement"
|
| + },
|
| + _SVGCursorElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGCursorElement"
|
| + },
|
| + _SVGFEDropShadowElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGFEDropShadowElement"
|
| + },
|
| + _SVGGlyphRefElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGGlyphRefElement"
|
| + },
|
| + _SVGMPathElement: {
|
| + "^": "SvgElement;",
|
| + $isInterceptor: 1,
|
| + "%": "SVGMPathElement"
|
| + }
|
| +}],
|
| +["dart.dom.web_audio", "dart:web_audio", , P, {
|
| + "^": ""
|
| +}],
|
| +["dart.dom.web_gl", "dart:web_gl", , P, {
|
| + "^": ""
|
| +}],
|
| +["dart.dom.web_sql", "dart:web_sql", , P, {
|
| + "^": "",
|
| + SqlError: {
|
| + "^": "Interceptor;message=",
|
| + "%": "SQLError"
|
| + }
|
| +}],
|
| +["dart.isolate", "dart:isolate", , P, {
|
| + "^": "",
|
| + Capability: {
|
| + "^": "Object;"
|
| + }
|
| +}],
|
| +["dart.math", "dart:math", , P, {
|
| + "^": "",
|
| + _JenkinsSmiHash_combine0: function(hash, value) {
|
| + hash = 536870911 & hash + value;
|
| + hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0);
|
| + return hash ^ hash >>> 6;
|
| + },
|
| + _JenkinsSmiHash_finish0: function(hash) {
|
| + hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0);
|
| + hash ^= hash >>> 11;
|
| + return 536870911 & hash + ((16383 & hash) << 15 >>> 0);
|
| + },
|
| + max: [function(a, b) {
|
| + var t1;
|
| + if (typeof a !== "number")
|
| + throw H.wrapException(P.ArgumentError$(a));
|
| + if (typeof b !== "number")
|
| + throw H.wrapException(P.ArgumentError$(b));
|
| + if (a > b)
|
| + return a;
|
| + if (a < b)
|
| + return b;
|
| + if (typeof b === "number") {
|
| + if (typeof a === "number")
|
| + if (a === 0)
|
| + return a + b;
|
| + if (C.JSDouble_methods.get$isNaN(b))
|
| + return b;
|
| + return a;
|
| + }
|
| + if (b === 0)
|
| + t1 = a === 0 ? 1 / a < 0 : a < 0;
|
| + else
|
| + t1 = false;
|
| + if (t1)
|
| + return b;
|
| + return a;
|
| + }, "call$2", "max$closure", 4, 0, 49]
|
| +}],
|
| +["dart.typed_data.implementation", "dart:_native_typed_data", , H, {
|
| + "^": "",
|
| + NativeByteBuffer: {
|
| + "^": "Interceptor;",
|
| + $isNativeByteBuffer: 1,
|
| + "%": "ArrayBuffer"
|
| + },
|
| + NativeTypedData: {
|
| + "^": "Interceptor;",
|
| + _invalidIndex$2: function(receiver, index, $length) {
|
| + var t1 = J.getInterceptor$n(index);
|
| + if (t1.$lt(index, 0) || t1.$ge(index, $length)) {
|
| + if (!!this.$isList)
|
| + if ($length === receiver.length)
|
| + throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
|
| + throw H.wrapException(P.RangeError$range(index, 0, $length - 1, null, null));
|
| + } else
|
| + throw H.wrapException(P.ArgumentError$("Invalid list index " + H.S(index)));
|
| + },
|
| + _checkIndex$2: function(receiver, index, $length) {
|
| + if (index >>> 0 !== index || index >= $length)
|
| + this._invalidIndex$2(receiver, index, $length);
|
| + },
|
| + _checkSublistArguments$3: function(receiver, start, end, $length) {
|
| + var t1 = $length + 1;
|
| + this._checkIndex$2(receiver, start, t1);
|
| + this._checkIndex$2(receiver, end, t1);
|
| + if (start > end)
|
| + throw H.wrapException(P.RangeError$range(start, 0, end, null, null));
|
| + return end;
|
| + },
|
| + $isNativeTypedData: 1,
|
| + "%": "DataView;ArrayBufferView;NativeTypedArray|NativeTypedArray_ListMixin|NativeTypedArray_ListMixin_FixedLengthListMixin|NativeTypedArrayOfDouble|NativeTypedArray_ListMixin0|NativeTypedArray_ListMixin_FixedLengthListMixin0|NativeTypedArrayOfInt"
|
| + },
|
| + NativeTypedArray: {
|
| + "^": "NativeTypedData;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $isJavaScriptIndexingBehavior: 1,
|
| + $isJSIndexable: 1
|
| + },
|
| + NativeTypedArrayOfDouble: {
|
| + "^": "NativeTypedArray_ListMixin_FixedLengthListMixin;",
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + receiver[index] = value;
|
| + }
|
| + },
|
| + NativeTypedArray_ListMixin: {
|
| + "^": "NativeTypedArray+ListMixin;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$double];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + NativeTypedArray_ListMixin_FixedLengthListMixin: {
|
| + "^": "NativeTypedArray_ListMixin+FixedLengthListMixin;"
|
| + },
|
| + NativeTypedArrayOfInt: {
|
| + "^": "NativeTypedArray_ListMixin_FixedLengthListMixin0;",
|
| + $indexSet: function(receiver, index, value) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + receiver[index] = value;
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + NativeTypedArray_ListMixin0: {
|
| + "^": "NativeTypedArray+ListMixin;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1
|
| + },
|
| + NativeTypedArray_ListMixin_FixedLengthListMixin0: {
|
| + "^": "NativeTypedArray_ListMixin0+FixedLengthListMixin;"
|
| + },
|
| + NativeFloat32List: {
|
| + "^": "NativeTypedArrayOfDouble;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$double];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Float32Array"
|
| + },
|
| + NativeFloat64List: {
|
| + "^": "NativeTypedArrayOfDouble;",
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$double];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Float64Array"
|
| + },
|
| + NativeInt16List: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Int16Array"
|
| + },
|
| + NativeInt32List: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Int32Array"
|
| + },
|
| + NativeInt8List: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Int8Array"
|
| + },
|
| + NativeUint16List: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Uint16Array"
|
| + },
|
| + NativeUint32List: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "Uint32Array"
|
| + },
|
| + NativeUint8ClampedList: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": "CanvasPixelArray|Uint8ClampedArray"
|
| + },
|
| + NativeUint8List: {
|
| + "^": "NativeTypedArrayOfInt;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $isList: 1,
|
| + $asList: function() {
|
| + return [P.$int];
|
| + },
|
| + $isEfficientLength: 1,
|
| + "%": ";Uint8Array"
|
| + }
|
| +}],
|
| +["dart2js._js_primitives", "dart:_js_primitives", , H, {
|
| + "^": "",
|
| + printString: function(string) {
|
| + if (typeof dartPrint == "function") {
|
| + dartPrint(string);
|
| + return;
|
| + }
|
| + if (typeof console == "object" && typeof console.log != "undefined") {
|
| + console.log(string);
|
| + return;
|
| + }
|
| + if (typeof window == "object")
|
| + return;
|
| + if (typeof print == "function") {
|
| + print(string);
|
| + return;
|
| + }
|
| + throw "Unable to print message: " + String(string);
|
| + }
|
| +}],
|
| +["frame", "package:stack_trace/src/frame.dart", , S, {
|
| + "^": "",
|
| + Frame: {
|
| + "^": "Object;uri<,line,column,member<",
|
| + get$isCore: function() {
|
| + return this.uri.scheme === "dart";
|
| + },
|
| + get$$package: function() {
|
| + var t1 = this.uri;
|
| + if (t1.scheme !== "package")
|
| + return;
|
| + return C.JSArray_methods.get$first(t1._path.split("/"));
|
| + },
|
| + get$location: function(_) {
|
| + var t1, t2;
|
| + t1 = this.line;
|
| + if (t1 == null)
|
| + return $.get$context().prettyUri$1(this.uri);
|
| + t2 = this.column;
|
| + if (t2 == null)
|
| + return $.get$context().prettyUri$1(this.uri) + " " + H.S(t1);
|
| + return $.get$context().prettyUri$1(this.uri) + " " + H.S(t1) + ":" + H.S(t2);
|
| + },
|
| + toString$0: function(_) {
|
| + return this.get$location(this) + " in " + H.S(this.member);
|
| + },
|
| + static: {Frame_Frame$parseVM: function(frame) {
|
| + var match, t1, t2, member, uri, lineAndColumn, line, column;
|
| + if (J.$eq(frame, "..."))
|
| + return new S.Frame(P.Uri_Uri(null, null, null, null, null, null, null, "", ""), null, null, "...");
|
| + match = $.get$_vmFrame().firstMatch$1(frame);
|
| + if (match == null)
|
| + throw H.wrapException(P.FormatException$("Couldn't parse VM stack trace line '" + H.S(frame) + "'.", null, null));
|
| + t1 = match._match;
|
| + if (1 >= t1.length)
|
| + return H.ioore(t1, 1);
|
| + t2 = J.replaceAll$2$s(t1[1], $.get$_asyncBody(), "<async>");
|
| + H.checkString("<fn>");
|
| + member = H.stringReplaceAllUnchecked(t2, "<anonymous closure>", "<fn>");
|
| + if (2 >= t1.length)
|
| + return H.ioore(t1, 2);
|
| + uri = P.Uri_parse(t1[2]);
|
| + if (3 >= t1.length)
|
| + return H.ioore(t1, 3);
|
| + lineAndColumn = J.split$1$s(t1[3], ":");
|
| + line = lineAndColumn.length > 1 ? H.Primitives_parseInt(lineAndColumn[1], null, null) : null;
|
| + column = lineAndColumn.length > 2 ? H.Primitives_parseInt(lineAndColumn[2], null, null) : null;
|
| + return new S.Frame(uri, line, column, member);
|
| + }, Frame_Frame$parseV8: function(frame) {
|
| + var match, t1, t2, t3, t4;
|
| + match = $.get$_v8Frame().firstMatch$1(frame);
|
| + if (match == null)
|
| + throw H.wrapException(P.FormatException$("Couldn't parse V8 stack trace line '" + H.S(frame) + "'.", null, null));
|
| + t1 = new S.Frame_Frame$parseV8_parseLocation(frame);
|
| + t2 = match._match;
|
| + t3 = t2.length;
|
| + if (2 >= t3)
|
| + return H.ioore(t2, 2);
|
| + t4 = t2[2];
|
| + if (t4 != null) {
|
| + t2 = J.replaceAll$2$s(t2[1], "<anonymous>", "<fn>");
|
| + H.checkString("<fn>");
|
| + return t1.call$2(t4, H.stringReplaceAllUnchecked(t2, "Anonymous function", "<fn>"));
|
| + } else {
|
| + if (3 >= t3)
|
| + return H.ioore(t2, 3);
|
| + return t1.call$2(t2[3], "<fn>");
|
| + }
|
| + }, Frame__uriOrPathToUri: function(uriOrPath) {
|
| + var t1 = J.getInterceptor$asx(uriOrPath);
|
| + if (t1.contains$1(uriOrPath, $.get$Frame__uriRegExp()) === true)
|
| + return P.Uri_parse(uriOrPath);
|
| + else if (t1.contains$1(uriOrPath, $.get$Frame__windowsRegExp()) === true)
|
| + return P.Uri_Uri$file(uriOrPath, true);
|
| + else if (t1.startsWith$1(uriOrPath, "/"))
|
| + return P.Uri_Uri$file(uriOrPath, false);
|
| + if (C.JSString_methods.contains$1(uriOrPath, "\\"))
|
| + return $.get$windows().toUri$1(uriOrPath);
|
| + return P.Uri_parse(uriOrPath);
|
| + }}
|
| + },
|
| + Frame_Frame$parseV8_parseLocation: {
|
| + "^": "Closure:15;frame_0",
|
| + call$2: function($location, member) {
|
| + var t1, evalMatch, t2, urlMatch, t3;
|
| + t1 = $.get$_v8EvalLocation();
|
| + evalMatch = t1.firstMatch$1($location);
|
| + for (; evalMatch != null;) {
|
| + t2 = evalMatch._match;
|
| + if (1 >= t2.length)
|
| + return H.ioore(t2, 1);
|
| + $location = t2[1];
|
| + evalMatch = t1.firstMatch$1($location);
|
| + }
|
| + urlMatch = $.get$_v8UrlLocation().firstMatch$1($location);
|
| + if (urlMatch == null)
|
| + throw H.wrapException(P.FormatException$("Couldn't parse V8 stack trace line '" + H.S(this.frame_0) + "'.", null, null));
|
| + t1 = urlMatch._match;
|
| + if (1 >= t1.length)
|
| + return H.ioore(t1, 1);
|
| + t2 = S.Frame__uriOrPathToUri(t1[1]);
|
| + if (2 >= t1.length)
|
| + return H.ioore(t1, 2);
|
| + t3 = H.Primitives_parseInt(t1[2], null, null);
|
| + if (3 >= t1.length)
|
| + return H.ioore(t1, 3);
|
| + return new S.Frame(t2, t3, H.Primitives_parseInt(t1[3], null, null), member);
|
| + }
|
| + }
|
| +}],
|
| +["html_common", "dart:html_common", , P, {
|
| + "^": "",
|
| + _convertDartToNative_PrepareForStructuredClone: function(value) {
|
| + var copies, copy;
|
| + copies = [];
|
| + copy = new P._convertDartToNative_PrepareForStructuredClone_walk(new P._convertDartToNative_PrepareForStructuredClone_findSlot([], copies), new P._convertDartToNative_PrepareForStructuredClone_readSlot(copies), new P._convertDartToNative_PrepareForStructuredClone_writeSlot(copies)).call$1(value);
|
| + new P._convertDartToNative_PrepareForStructuredClone_cleanupSlots().call$0();
|
| + return copy;
|
| + },
|
| + convertNativeToDart_AcceptStructuredClone: function(object, mustCopy) {
|
| + var copies = [];
|
| + return new P.convertNativeToDart_AcceptStructuredClone_walk(mustCopy, new P.convertNativeToDart_AcceptStructuredClone_findSlot([], copies), new P.convertNativeToDart_AcceptStructuredClone_readSlot(copies), new P.convertNativeToDart_AcceptStructuredClone_writeSlot(copies)).call$1(object);
|
| + },
|
| + _convertDartToNative_PrepareForStructuredClone_findSlot: {
|
| + "^": "Closure:26;values_1,copies_2",
|
| + call$1: function(value) {
|
| + var t1, $length, i;
|
| + t1 = this.values_1;
|
| + $length = t1.length;
|
| + for (i = 0; i < $length; ++i)
|
| + if (t1[i] === value)
|
| + return i;
|
| + t1.push(value);
|
| + this.copies_2.push(null);
|
| + return $length;
|
| + }
|
| + },
|
| + _convertDartToNative_PrepareForStructuredClone_readSlot: {
|
| + "^": "Closure:27;copies_3",
|
| + call$1: function(i) {
|
| + var t1 = this.copies_3;
|
| + if (i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + return t1[i];
|
| + }
|
| + },
|
| + _convertDartToNative_PrepareForStructuredClone_writeSlot: {
|
| + "^": "Closure:28;copies_4",
|
| + call$2: function(i, x) {
|
| + var t1 = this.copies_4;
|
| + if (i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + t1[i] = x;
|
| + }
|
| + },
|
| + _convertDartToNative_PrepareForStructuredClone_cleanupSlots: {
|
| + "^": "Closure:0;",
|
| + call$0: function() {
|
| + }
|
| + },
|
| + _convertDartToNative_PrepareForStructuredClone_walk: {
|
| + "^": "Closure:2;findSlot_5,readSlot_6,writeSlot_7",
|
| + call$1: function(e) {
|
| + var t1, t2, slot, copy, $length, i;
|
| + t1 = {};
|
| + if (e == null)
|
| + return e;
|
| + if (typeof e === "boolean")
|
| + return e;
|
| + if (typeof e === "number")
|
| + return e;
|
| + if (typeof e === "string")
|
| + return e;
|
| + t2 = J.getInterceptor(e);
|
| + if (!!t2.$isDateTime)
|
| + return new Date(e.millisecondsSinceEpoch);
|
| + if (!!t2.$isRegExp)
|
| + throw H.wrapException(P.UnimplementedError$("structured clone of RegExp"));
|
| + if (!!t2.$isFile)
|
| + return e;
|
| + if (!!t2.$isBlob)
|
| + return e;
|
| + if (!!t2.$isNativeByteBuffer)
|
| + return e;
|
| + if (!!t2.$isNativeTypedData)
|
| + return e;
|
| + if (!!t2.$isMap) {
|
| + slot = this.findSlot_5.call$1(e);
|
| + copy = this.readSlot_6.call$1(slot);
|
| + t1.copy_0 = copy;
|
| + if (copy != null)
|
| + return copy;
|
| + copy = {};
|
| + t1.copy_0 = copy;
|
| + this.writeSlot_7.call$2(slot, copy);
|
| + t2.forEach$1(e, new P._convertDartToNative_PrepareForStructuredClone_walk_closure(t1, this));
|
| + return t1.copy_0;
|
| + }
|
| + if (!!t2.$isList) {
|
| + $length = t2.get$length(e);
|
| + slot = this.findSlot_5.call$1(e);
|
| + copy = this.readSlot_6.call$1(slot);
|
| + if (copy != null) {
|
| + if (true === copy) {
|
| + copy = new Array($length);
|
| + this.writeSlot_7.call$2(slot, copy);
|
| + }
|
| + return copy;
|
| + }
|
| + copy = new Array($length);
|
| + this.writeSlot_7.call$2(slot, copy);
|
| + for (i = 0; i < $length; ++i) {
|
| + t1 = this.call$1(t2.$index(e, i));
|
| + if (i >= copy.length)
|
| + return H.ioore(copy, i);
|
| + copy[i] = t1;
|
| + }
|
| + return copy;
|
| + }
|
| + throw H.wrapException(P.UnimplementedError$("structured clone of other type"));
|
| + }
|
| + },
|
| + _convertDartToNative_PrepareForStructuredClone_walk_closure: {
|
| + "^": "Closure:15;box_0,walk_8",
|
| + call$2: function(key, value) {
|
| + this.box_0.copy_0[key] = this.walk_8.call$1(value);
|
| + }
|
| + },
|
| + convertNativeToDart_AcceptStructuredClone_findSlot: {
|
| + "^": "Closure:26;values_0,copies_1",
|
| + call$1: function(value) {
|
| + var t1, $length, i, t2;
|
| + t1 = this.values_0;
|
| + $length = t1.length;
|
| + for (i = 0; i < $length; ++i) {
|
| + t2 = t1[i];
|
| + if (t2 == null ? value == null : t2 === value)
|
| + return i;
|
| + }
|
| + t1.push(value);
|
| + this.copies_1.push(null);
|
| + return $length;
|
| + }
|
| + },
|
| + convertNativeToDart_AcceptStructuredClone_readSlot: {
|
| + "^": "Closure:27;copies_2",
|
| + call$1: function(i) {
|
| + var t1 = this.copies_2;
|
| + if (i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + return t1[i];
|
| + }
|
| + },
|
| + convertNativeToDart_AcceptStructuredClone_writeSlot: {
|
| + "^": "Closure:28;copies_3",
|
| + call$2: function(i, x) {
|
| + var t1 = this.copies_3;
|
| + if (i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + t1[i] = x;
|
| + }
|
| + },
|
| + convertNativeToDart_AcceptStructuredClone_walk: {
|
| + "^": "Closure:2;mustCopy_4,findSlot_5,readSlot_6,writeSlot_7",
|
| + call$1: function(e) {
|
| + var proto, slot, copy, t1, key, $length, t2, i;
|
| + 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)
|
| + return P.DateTime$fromMillisecondsSinceEpoch(e.getTime(), true);
|
| + if (e instanceof RegExp)
|
| + throw H.wrapException(P.UnimplementedError$("structured clone of RegExp"));
|
| + proto = Object.getPrototypeOf(e);
|
| + if (proto === Object.prototype || proto === null) {
|
| + slot = this.findSlot_5.call$1(e);
|
| + copy = this.readSlot_6.call$1(slot);
|
| + if (copy != null)
|
| + return copy;
|
| + copy = P.LinkedHashMap_LinkedHashMap$_empty(null, null);
|
| + this.writeSlot_7.call$2(slot, copy);
|
| + for (t1 = Object.keys(e), t1 = new H.ListIterator(t1, t1.length, 0, null); t1.moveNext$0();) {
|
| + key = t1._current;
|
| + copy.$indexSet(0, key, this.call$1(e[key]));
|
| + }
|
| + return copy;
|
| + }
|
| + if (e instanceof Array) {
|
| + slot = this.findSlot_5.call$1(e);
|
| + copy = this.readSlot_6.call$1(slot);
|
| + if (copy != null)
|
| + return copy;
|
| + t1 = J.getInterceptor$asx(e);
|
| + $length = t1.get$length(e);
|
| + copy = this.mustCopy_4 ? new Array($length) : e;
|
| + this.writeSlot_7.call$2(slot, copy);
|
| + if (typeof $length !== "number")
|
| + return H.iae($length);
|
| + t2 = J.getInterceptor$ax(copy);
|
| + i = 0;
|
| + for (; i < $length; ++i)
|
| + t2.$indexSet(copy, i, this.call$1(t1.$index(e, i)));
|
| + return copy;
|
| + }
|
| + return e;
|
| + }
|
| + }
|
| +}],
|
| +["lazy_trace", "package:stack_trace/src/lazy_trace.dart", , S, {
|
| + "^": "",
|
| + LazyTrace: {
|
| + "^": "Object;_thunk,_inner",
|
| + get$_trace: function() {
|
| + var t1 = this._inner;
|
| + if (t1 == null) {
|
| + t1 = this._thunk$0();
|
| + this._inner = t1;
|
| + }
|
| + return t1;
|
| + },
|
| + get$terse: function() {
|
| + return new S.LazyTrace(new S.LazyTrace_terse_closure(this), null);
|
| + },
|
| + toString$0: function(_) {
|
| + return J.toString$0(this.get$_trace());
|
| + },
|
| + _thunk$0: function() {
|
| + return this._thunk.call$0();
|
| + },
|
| + $isTrace: 1
|
| + },
|
| + LazyTrace_terse_closure: {
|
| + "^": "Closure:0;this_0",
|
| + call$0: function() {
|
| + return this.this_0.get$_trace().get$terse();
|
| + }
|
| + }
|
| +}],
|
| +["path", "package:path/path.dart", , B, {
|
| + "^": "",
|
| + current: function() {
|
| + var uri, t1, t2, path;
|
| + uri = P.Uri_base();
|
| + t1 = $.get$Style_platform();
|
| + t2 = $.get$Style_url();
|
| + if (t1 == null ? t2 == null : t1 === t2)
|
| + return uri.resolveUri$1(P.Uri_parse(".")).toString$0(0);
|
| + else {
|
| + path = uri.toFilePath$0();
|
| + return C.JSString_methods.substring$2(path, 0, path.length - 1);
|
| + }
|
| + }
|
| +}],
|
| +["path.context", "package:path/src/context.dart", , F, {
|
| + "^": "",
|
| + _validateArgList: function(method, args) {
|
| + var i, numArgs, numArgs0, message, t1, t2;
|
| + for (i = 1; i < 8; ++i) {
|
| + if (args[i] == null || args[i - 1] != null)
|
| + continue;
|
| + for (numArgs = 8; numArgs >= 1; numArgs = numArgs0) {
|
| + numArgs0 = numArgs - 1;
|
| + if (args[numArgs0] != null)
|
| + break;
|
| + }
|
| + message = new P.StringBuffer("");
|
| + t1 = method + "(";
|
| + message._contents = t1;
|
| + t2 = new H.SubListIterable(args, 0, numArgs);
|
| + t2.$builtinTypeInfo = [H.getTypeArgumentByIndex(args, 0)];
|
| + if (numArgs < 0)
|
| + H.throwExpression(P.RangeError$range(numArgs, 0, null, "end", null));
|
| + if (0 > numArgs)
|
| + H.throwExpression(P.RangeError$range(0, 0, numArgs, "start", null));
|
| + t2 = new H.MappedListIterable(t2, new F._validateArgList_closure());
|
| + t2.$builtinTypeInfo = [null, null];
|
| + t1 += t2.join$1(0, ", ");
|
| + message._contents = t1;
|
| + message._contents = t1 + ("): part " + (i - 1) + " was null, but part " + i + " was not.");
|
| + throw H.wrapException(P.ArgumentError$(message.toString$0(0)));
|
| + }
|
| + },
|
| + Context: {
|
| + "^": "Object;style,_context0$_current",
|
| + join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8) {
|
| + var parts = [part1, part2, part3, part4, part5, part6, part7, part8];
|
| + F._validateArgList("join", parts);
|
| + return this.joinAll$1(H.setRuntimeTypeInfo(new H.WhereIterable(parts, new F.Context_join_closure()), [H.getTypeArgumentByIndex(parts, 0)]));
|
| + },
|
| + join$2: function($receiver, part1, part2) {
|
| + return this.join$8($receiver, part1, part2, null, null, null, null, null, null);
|
| + },
|
| + joinAll$1: function(parts) {
|
| + var buffer, t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, part, parsed, t4, root, t5;
|
| + buffer = new P.StringBuffer("");
|
| + for (t1 = H.setRuntimeTypeInfo(new H.WhereIterable(parts, new F.Context_joinAll_closure()), [H.getRuntimeTypeArgument(parts, "IterableBase", 0)]), t1 = H.setRuntimeTypeInfo(new H.WhereIterator(J.get$iterator$ax(t1._iterable), t1._f), [H.getTypeArgumentByIndex(t1, 0)]), t2 = this.style, t3 = t1._iterator, needsSeparator = false, isAbsoluteAndNotRootRelative = false; t1.moveNext$0();) {
|
| + part = t3.get$current();
|
| + if (Q.ParsedPath_ParsedPath$parse(part, t2).isRootRelative && isAbsoluteAndNotRootRelative) {
|
| + parsed = Q.ParsedPath_ParsedPath$parse(part, t2);
|
| + t4 = buffer._contents;
|
| + root = Q.ParsedPath_ParsedPath$parse(t4.charCodeAt(0) == 0 ? t4 : t4, t2).root;
|
| + t4 = root == null ? "" : root;
|
| + parsed.root = t4;
|
| + if (t2.needsSeparator$1(t4)) {
|
| + t4 = parsed.separators;
|
| + t5 = t2.get$separator();
|
| + if (0 >= t4.length)
|
| + return H.ioore(t4, 0);
|
| + t4[0] = t5;
|
| + }
|
| + buffer._contents = "";
|
| + buffer._contents += parsed.toString$0(0);
|
| + } else if (Q.ParsedPath_ParsedPath$parse(part, t2).root != null) {
|
| + isAbsoluteAndNotRootRelative = !Q.ParsedPath_ParsedPath$parse(part, t2).isRootRelative;
|
| + buffer._contents = "";
|
| + buffer._contents += H.S(part);
|
| + } else {
|
| + t4 = J.getInterceptor$asx(part);
|
| + if (J.$gt$n(t4.get$length(part), 0) && t2.containsSeparator$1(t4.$index(part, 0)) === true)
|
| + ;
|
| + else if (needsSeparator)
|
| + buffer._contents += t2.get$separator();
|
| + buffer._contents += H.S(part);
|
| + }
|
| + needsSeparator = t2.needsSeparator$1(part);
|
| + }
|
| + t1 = buffer._contents;
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + split$1: function(_, path) {
|
| + var parsed, t1, t2;
|
| + parsed = Q.ParsedPath_ParsedPath$parse(path, this.style);
|
| + t1 = parsed.parts;
|
| + t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new F.Context_split_closure()), [H.getTypeArgumentByIndex(t1, 0)]);
|
| + t1 = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "IterableBase", 0));
|
| + parsed.parts = t1;
|
| + t2 = parsed.root;
|
| + if (t2 != null)
|
| + C.JSArray_methods.insert$2(t1, 0, t2);
|
| + return parsed.parts;
|
| + },
|
| + normalize$1: function(path) {
|
| + var parsed = Q.ParsedPath_ParsedPath$parse(path, this.style);
|
| + parsed.normalize$0();
|
| + return parsed.toString$0(0);
|
| + },
|
| + relative$2$from: function(path, from) {
|
| + var t1, t2, fromParsed, pathParsed, t3;
|
| + t1 = this._context0$_current;
|
| + from = t1 != null ? t1 : B.current();
|
| + t1 = this.style;
|
| + if (Q.ParsedPath_ParsedPath$parse(from, t1).root == null && Q.ParsedPath_ParsedPath$parse(path, t1).root != null)
|
| + return this.normalize$1(path);
|
| + if (Q.ParsedPath_ParsedPath$parse(path, t1).root == null || Q.ParsedPath_ParsedPath$parse(path, t1).isRootRelative) {
|
| + t2 = this._context0$_current;
|
| + path = this.join$8(0, t2 != null ? t2 : B.current(), path, null, null, null, null, null, null);
|
| + }
|
| + if (Q.ParsedPath_ParsedPath$parse(path, t1).root == null && Q.ParsedPath_ParsedPath$parse(from, t1).root != null)
|
| + throw H.wrapException(E.PathException$("Unable to find a path to \"" + path + "\" from \"" + H.S(from) + "\"."));
|
| + fromParsed = Q.ParsedPath_ParsedPath$parse(from, t1);
|
| + fromParsed.normalize$0();
|
| + pathParsed = Q.ParsedPath_ParsedPath$parse(path, t1);
|
| + pathParsed.normalize$0();
|
| + t2 = fromParsed.parts;
|
| + if (t2.length > 0 && J.$eq(t2[0], "."))
|
| + return pathParsed.toString$0(0);
|
| + t2 = fromParsed.root;
|
| + t3 = pathParsed.root;
|
| + if (t2 == null ? t3 != null : t2 !== t3)
|
| + if (!(t2 == null || t3 == null)) {
|
| + t2.toString;
|
| + t2 = t2.toLowerCase();
|
| + H.checkString("\\");
|
| + t2 = H.stringReplaceAllUnchecked(t2, "/", "\\");
|
| + t3 = pathParsed.root;
|
| + t3.toString;
|
| + t3 = t3.toLowerCase();
|
| + H.checkString("\\");
|
| + t3 = t2 !== H.stringReplaceAllUnchecked(t3, "/", "\\");
|
| + t2 = t3;
|
| + } else
|
| + t2 = true;
|
| + else
|
| + t2 = false;
|
| + if (t2)
|
| + return pathParsed.toString$0(0);
|
| + while (true) {
|
| + t2 = fromParsed.parts;
|
| + if (t2.length > 0) {
|
| + t3 = pathParsed.parts;
|
| + t2 = t3.length > 0 && J.$eq(t2[0], t3[0]);
|
| + } else
|
| + t2 = false;
|
| + if (!t2)
|
| + break;
|
| + C.JSArray_methods.removeAt$1(fromParsed.parts, 0);
|
| + C.JSArray_methods.removeAt$1(fromParsed.separators, 1);
|
| + C.JSArray_methods.removeAt$1(pathParsed.parts, 0);
|
| + C.JSArray_methods.removeAt$1(pathParsed.separators, 1);
|
| + }
|
| + t2 = fromParsed.parts;
|
| + if (t2.length > 0 && J.$eq(t2[0], ".."))
|
| + throw H.wrapException(E.PathException$("Unable to find a path to \"" + path + "\" from \"" + H.S(from) + "\"."));
|
| + C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fromParsed.parts.length, "..", null));
|
| + t2 = pathParsed.separators;
|
| + if (0 >= t2.length)
|
| + return H.ioore(t2, 0);
|
| + t2[0] = "";
|
| + C.JSArray_methods.insertAll$2(t2, 1, P.List_List$filled(fromParsed.parts.length, t1.get$separator(), null));
|
| + t1 = pathParsed.parts;
|
| + t2 = t1.length;
|
| + if (t2 === 0)
|
| + return ".";
|
| + if (t2 > 1 && J.$eq(C.JSArray_methods.get$last(t1), ".")) {
|
| + t1 = pathParsed.parts;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + t1 = pathParsed.separators;
|
| + C.JSArray_methods.removeLast$0(t1);
|
| + C.JSArray_methods.removeLast$0(t1);
|
| + C.JSArray_methods.add$1(t1, "");
|
| + }
|
| + pathParsed.root = "";
|
| + pathParsed.removeTrailingSeparators$0();
|
| + return pathParsed.toString$0(0);
|
| + },
|
| + relative$1: function(path) {
|
| + return this.relative$2$from(path, null);
|
| + },
|
| + fromUri$1: function(uri) {
|
| + return this.style.pathFromUri$1(uri);
|
| + },
|
| + toUri$1: function(path) {
|
| + var t1, t2;
|
| + t1 = this.style;
|
| + if (Q.ParsedPath_ParsedPath$parse(path, t1).root == null)
|
| + return t1.relativePathToUri$1(path);
|
| + else {
|
| + t2 = this._context0$_current;
|
| + return t1.absolutePathToUri$1(this.join$2(0, t2 != null ? t2 : B.current(), path));
|
| + }
|
| + },
|
| + prettyUri$1: function(uri) {
|
| + var t1, t2, t3, t4, path, rel;
|
| + t1 = uri.scheme;
|
| + t2 = t1 === "file";
|
| + if (t2) {
|
| + t3 = this.style;
|
| + t4 = $.get$Style_url();
|
| + t4 = t3 == null ? t4 == null : t3 === t4;
|
| + t3 = t4;
|
| + } else
|
| + t3 = false;
|
| + if (t3)
|
| + return uri.toString$0(0);
|
| + if (!t2)
|
| + if (t1 !== "") {
|
| + t1 = this.style;
|
| + t2 = $.get$Style_url();
|
| + t2 = t1 == null ? t2 != null : t1 !== t2;
|
| + t1 = t2;
|
| + } else
|
| + t1 = false;
|
| + else
|
| + t1 = false;
|
| + if (t1)
|
| + return uri.toString$0(0);
|
| + path = this.normalize$1(this.fromUri$1(uri));
|
| + rel = this.relative$1(path);
|
| + this.split$1(0, rel);
|
| + return this.split$1(0, rel).length > this.split$1(0, path).length ? path : rel;
|
| + },
|
| + static: {Context_Context: function(current, style) {
|
| + current = style == null ? B.current() : ".";
|
| + if (style == null)
|
| + style = $.get$Style_platform();
|
| + else if (!style.$isInternalStyle)
|
| + throw H.wrapException(P.ArgumentError$("Only styles defined by the path package are allowed."));
|
| + return new F.Context(style, current);
|
| + }}
|
| + },
|
| + Context_join_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(part) {
|
| + return part != null;
|
| + }
|
| + },
|
| + Context_joinAll_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(part) {
|
| + return !J.$eq(part, "");
|
| + }
|
| + },
|
| + Context_split_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(part) {
|
| + return J.get$isEmpty$asx(part) !== true;
|
| + }
|
| + },
|
| + _validateArgList_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(arg) {
|
| + return arg == null ? "null" : "\"" + H.S(arg) + "\"";
|
| + }
|
| + }
|
| +}],
|
| +["path.internal_style", "package:path/src/internal_style.dart", , E, {
|
| + "^": "",
|
| + InternalStyle: {
|
| + "^": "Style;",
|
| + relativePathToUri$1: function(path) {
|
| + return P.Uri_Uri(null, null, null, F.Context_Context(null, this).split$1(0, path), null, null, null, "", "");
|
| + }
|
| + }
|
| +}],
|
| +["path.parsed_path", "package:path/src/parsed_path.dart", , Q, {
|
| + "^": "",
|
| + ParsedPath: {
|
| + "^": "Object;style,root,isRootRelative,parts,separators",
|
| + get$hasTrailingSeparator: function() {
|
| + var t1 = this.parts;
|
| + if (t1.length !== 0)
|
| + t1 = J.$eq(C.JSArray_methods.get$last(t1), "") || !J.$eq(C.JSArray_methods.get$last(this.separators), "");
|
| + else
|
| + t1 = false;
|
| + return t1;
|
| + },
|
| + removeTrailingSeparators$0: function() {
|
| + var t1, t2;
|
| + while (true) {
|
| + t1 = this.parts;
|
| + if (!(t1.length !== 0 && J.$eq(C.JSArray_methods.get$last(t1), "")))
|
| + break;
|
| + t1 = this.parts;
|
| + if (0 >= t1.length)
|
| + return H.ioore(t1, 0);
|
| + t1.pop();
|
| + C.JSArray_methods.removeLast$0(this.separators);
|
| + }
|
| + t1 = this.separators;
|
| + t2 = t1.length;
|
| + if (t2 > 0)
|
| + t1[t2 - 1] = "";
|
| + },
|
| + normalize$0: function() {
|
| + var newParts, t1, leadingDoubles, part, t2, newSeparators;
|
| + newParts = [];
|
| + for (t1 = this.parts, t1 = new H.ListIterator(t1, t1.length, 0, null), leadingDoubles = 0; t1.moveNext$0();) {
|
| + part = t1._current;
|
| + t2 = J.getInterceptor(part);
|
| + if (t2.$eq(part, ".") || t2.$eq(part, ""))
|
| + ;
|
| + else if (t2.$eq(part, ".."))
|
| + if (newParts.length > 0)
|
| + newParts.pop();
|
| + else
|
| + ++leadingDoubles;
|
| + else
|
| + newParts.push(part);
|
| + }
|
| + if (this.root == null)
|
| + C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingDoubles, "..", null));
|
| + if (newParts.length === 0 && this.root == null)
|
| + newParts.push(".");
|
| + newSeparators = P.List_List$generate(newParts.length, new Q.ParsedPath_normalize_closure(this), true, null);
|
| + t1 = this.root;
|
| + C.JSArray_methods.insert$2(newSeparators, 0, t1 != null && newParts.length > 0 && this.style.needsSeparator$1(t1) ? this.style.get$separator() : "");
|
| + this.parts = newParts;
|
| + this.separators = newSeparators;
|
| + t1 = this.root;
|
| + if (t1 != null && this.style === $.get$Style_windows()) {
|
| + t1.toString;
|
| + H.checkString("\\");
|
| + this.root = H.stringReplaceAllUnchecked(t1, "/", "\\");
|
| + }
|
| + this.removeTrailingSeparators$0();
|
| + },
|
| + toString$0: function(_) {
|
| + var builder, t1, i;
|
| + builder = new P.StringBuffer("");
|
| + t1 = this.root;
|
| + if (t1 != null)
|
| + builder._contents = H.S(t1);
|
| + for (i = 0; i < this.parts.length; ++i) {
|
| + t1 = this.separators;
|
| + if (i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + builder._contents += H.S(t1[i]);
|
| + t1 = this.parts;
|
| + if (i >= t1.length)
|
| + return H.ioore(t1, i);
|
| + builder._contents += H.S(t1[i]);
|
| + }
|
| + t1 = builder._contents += H.S(C.JSArray_methods.get$last(this.separators));
|
| + return t1.charCodeAt(0) == 0 ? t1 : t1;
|
| + },
|
| + static: {ParsedPath_ParsedPath$parse: function(path, style) {
|
| + var root, t1, parts, separators, t2, start, i, t3;
|
| + root = style.getRoot$1(path);
|
| + t1 = style.getRelativeRoot$1(path);
|
| + if (root != null)
|
| + path = J.substring$1$s(path, root.length);
|
| + parts = [];
|
| + separators = [];
|
| + t2 = J.getInterceptor$asx(path);
|
| + if (t2.get$isNotEmpty(path) && style.isSeparator$1(t2.codeUnitAt$1(path, 0))) {
|
| + separators.push(t2.$index(path, 0));
|
| + start = 1;
|
| + } else {
|
| + separators.push("");
|
| + start = 0;
|
| + }
|
| + i = start;
|
| + while (true) {
|
| + t3 = t2.get$length(path);
|
| + if (typeof t3 !== "number")
|
| + return H.iae(t3);
|
| + if (!(i < t3))
|
| + break;
|
| + if (style.isSeparator$1(t2.codeUnitAt$1(path, i))) {
|
| + parts.push(C.JSString_methods.substring$2(path, start, i));
|
| + if (i >= path.length)
|
| + return H.ioore(path, i);
|
| + separators.push(path[i]);
|
| + start = i + 1;
|
| + }
|
| + ++i;
|
| + }
|
| + t3 = t2.get$length(path);
|
| + if (typeof t3 !== "number")
|
| + return H.iae(t3);
|
| + if (start < t3) {
|
| + parts.push(t2.substring$1(path, start));
|
| + separators.push("");
|
| + }
|
| + return new Q.ParsedPath(style, root, t1 != null, parts, separators);
|
| + }}
|
| + },
|
| + ParsedPath_normalize_closure: {
|
| + "^": "Closure:2;this_0",
|
| + call$1: function(_) {
|
| + return this.this_0.style.get$separator();
|
| + }
|
| + }
|
| +}],
|
| +["path.path_exception", "package:path/src/path_exception.dart", , E, {
|
| + "^": "",
|
| + PathException: {
|
| + "^": "Object;message>",
|
| + toString$0: function(_) {
|
| + return "PathException: " + this.message;
|
| + },
|
| + static: {PathException$: function(message) {
|
| + return new E.PathException(message);
|
| + }}
|
| + }
|
| +}],
|
| +["path.style", "package:path/src/style.dart", , S, {
|
| + "^": "",
|
| + Style__getPlatformStyle: function() {
|
| + if (P.Uri_base().scheme !== "file")
|
| + return $.get$Style_url();
|
| + if (!C.JSString_methods.endsWith$1(P.Uri_base()._path, "/"))
|
| + return $.get$Style_url();
|
| + if (P.Uri_Uri(null, null, "a/b", null, null, null, null, "", "").toFilePath$0() === "a\\b")
|
| + return $.get$Style_windows();
|
| + return $.get$Style_posix();
|
| + },
|
| + Style: {
|
| + "^": "Object;",
|
| + toString$0: function(_) {
|
| + return this.get$name(this);
|
| + }
|
| + }
|
| +}],
|
| +["path.style.posix", "package:path/src/style/posix.dart", , Z, {
|
| + "^": "",
|
| + PosixStyle: {
|
| + "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSeparatorPattern,rootPattern,relativeRootPattern",
|
| + containsSeparator$1: function(path) {
|
| + return J.contains$1$asx(path, "/");
|
| + },
|
| + isSeparator$1: function(codeUnit) {
|
| + return codeUnit === 47;
|
| + },
|
| + needsSeparator$1: function(path) {
|
| + var t1 = J.getInterceptor$asx(path);
|
| + return t1.get$isNotEmpty(path) && t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1)) !== 47;
|
| + },
|
| + getRoot$1: function(path) {
|
| + var t1 = J.getInterceptor$asx(path);
|
| + if (t1.get$isNotEmpty(path) && t1.codeUnitAt$1(path, 0) === 47)
|
| + return "/";
|
| + return;
|
| + },
|
| + getRelativeRoot$1: function(path) {
|
| + return;
|
| + },
|
| + pathFromUri$1: function(uri) {
|
| + var t1 = uri.scheme;
|
| + if (t1 === "" || t1 === "file")
|
| + return P.Uri__uriDecode(uri._path, C.Utf8Codec_false, false);
|
| + throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
|
| + },
|
| + absolutePathToUri$1: function(path) {
|
| + var parsed, t1;
|
| + parsed = Q.ParsedPath_ParsedPath$parse(path, this);
|
| + t1 = parsed.parts;
|
| + if (t1.length === 0)
|
| + C.JSArray_methods.addAll$1(t1, ["", ""]);
|
| + else if (parsed.get$hasTrailingSeparator())
|
| + parsed.parts.push("");
|
| + return P.Uri_Uri(null, null, null, parsed.parts, null, null, null, "file", "");
|
| + }
|
| + }
|
| +}],
|
| +["path.style.url", "package:path/src/style/url.dart", , E, {
|
| + "^": "",
|
| + UrlStyle: {
|
| + "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSeparatorPattern,rootPattern,relativeRootPattern",
|
| + containsSeparator$1: function(path) {
|
| + return J.contains$1$asx(path, "/");
|
| + },
|
| + isSeparator$1: function(codeUnit) {
|
| + return codeUnit === 47;
|
| + },
|
| + needsSeparator$1: function(path) {
|
| + var t1, root;
|
| + t1 = J.getInterceptor$asx(path);
|
| + if (t1.get$isEmpty(path) === true)
|
| + return false;
|
| + if (t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1)) !== 47)
|
| + return true;
|
| + root = this._url$_getRoot$1(path);
|
| + return root != null && C.JSString_methods.endsWith$1(root, "://");
|
| + },
|
| + getRoot$1: function(path) {
|
| + var root = this._url$_getRoot$1(path);
|
| + return root == null ? this.getRelativeRoot$1(path) : root;
|
| + },
|
| + getRelativeRoot$1: function(path) {
|
| + var t1 = J.getInterceptor$asx(path);
|
| + if (t1.get$isEmpty(path) === true)
|
| + return;
|
| + return t1.codeUnitAt$1(path, 0) === 47 ? "/" : null;
|
| + },
|
| + pathFromUri$1: function(uri) {
|
| + return uri.toString$0(0);
|
| + },
|
| + relativePathToUri$1: function(path) {
|
| + return P.Uri_parse(path);
|
| + },
|
| + absolutePathToUri$1: function(path) {
|
| + return P.Uri_parse(path);
|
| + },
|
| + _url$_getRoot$1: function(path) {
|
| + var t1, start, $char, start0;
|
| + t1 = J.getInterceptor$asx(path);
|
| + if (t1.get$isEmpty(path) === true)
|
| + return;
|
| + if (!N.isAlphabetic(t1.codeUnitAt$1(path, 0)))
|
| + return;
|
| + for (t1 = path.length, start = 1; start < t1; ++start) {
|
| + $char = C.JSString_methods.codeUnitAt$1(path, start);
|
| + if (N.isAlphabetic($char))
|
| + continue;
|
| + if ($char >= 48 && $char <= 57)
|
| + continue;
|
| + if ($char === 45 || $char === 43 || $char === 46)
|
| + continue;
|
| + break;
|
| + }
|
| + start0 = start + 3;
|
| + if (start0 > t1)
|
| + return;
|
| + if (C.JSString_methods.substring$2(path, start, start0) !== "://")
|
| + return;
|
| + start = start0;
|
| + while (true) {
|
| + if (!(start < t1 && C.JSString_methods.codeUnitAt$1(path, start) !== 47))
|
| + break;
|
| + ++start;
|
| + }
|
| + return C.JSString_methods.substring$2(path, 0, start);
|
| + }
|
| + }
|
| +}],
|
| +["path.style.windows", "package:path/src/style/windows.dart", , T, {
|
| + "^": "",
|
| + WindowsStyle: {
|
| + "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSeparatorPattern,rootPattern,relativeRootPattern",
|
| + containsSeparator$1: function(path) {
|
| + return J.contains$1$asx(path, "/");
|
| + },
|
| + isSeparator$1: function(codeUnit) {
|
| + return codeUnit === 47 || codeUnit === 92;
|
| + },
|
| + needsSeparator$1: function(path) {
|
| + var t1 = J.getInterceptor$asx(path);
|
| + if (t1.get$isEmpty(path) === true)
|
| + return false;
|
| + t1 = t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1));
|
| + return !(t1 === 47 || t1 === 92);
|
| + },
|
| + getRoot$1: function(path) {
|
| + var root = this._getRoot$1(path);
|
| + return root == null ? this.getRelativeRoot$1(path) : root;
|
| + },
|
| + getRelativeRoot$1: function(path) {
|
| + var t1, t2;
|
| + t1 = J.getInterceptor$asx(path);
|
| + if (t1.get$isEmpty(path) === true)
|
| + return;
|
| + t1 = t1.codeUnitAt$1(path, 0);
|
| + if (!(t1 === 47 || t1 === 92))
|
| + return;
|
| + t1 = path.length;
|
| + if (t1 > 1) {
|
| + t2 = C.JSString_methods.codeUnitAt$1(path, 1);
|
| + t2 = t2 === 47 || t2 === 92;
|
| + } else
|
| + t2 = false;
|
| + if (t2)
|
| + return;
|
| + if (0 >= t1)
|
| + return H.ioore(path, 0);
|
| + return path[0];
|
| + },
|
| + pathFromUri$1: function(uri) {
|
| + var t1, path;
|
| + t1 = uri.scheme;
|
| + if (t1 !== "" && t1 !== "file")
|
| + throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
|
| + path = uri._path;
|
| + if (uri.get$host(uri) === "") {
|
| + if (C.JSString_methods.startsWith$1(path, "/"))
|
| + path = C.JSString_methods.replaceFirst$2(path, "/", "");
|
| + } else
|
| + path = "\\\\" + H.S(uri.get$host(uri)) + path;
|
| + H.checkString("\\");
|
| + return P.Uri__uriDecode(H.stringReplaceAllUnchecked(path, "/", "\\"), C.Utf8Codec_false, false);
|
| + },
|
| + absolutePathToUri$1: function(path) {
|
| + var parsed, t1, rootParts, t2;
|
| + parsed = Q.ParsedPath_ParsedPath$parse(path, this);
|
| + if (J.startsWith$1$s(parsed.root, "\\\\")) {
|
| + t1 = parsed.root.split("\\");
|
| + rootParts = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new T.WindowsStyle_absolutePathToUri_closure()), [H.getTypeArgumentByIndex(t1, 0)]);
|
| + C.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts));
|
| + if (parsed.get$hasTrailingSeparator())
|
| + parsed.parts.push("");
|
| + return P.Uri_Uri(null, rootParts.get$first(rootParts), null, parsed.parts, null, null, null, "file", "");
|
| + } else {
|
| + if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator())
|
| + parsed.parts.push("");
|
| + t1 = parsed.parts;
|
| + t2 = parsed.root;
|
| + t2.toString;
|
| + H.checkString("");
|
| + t2 = H.stringReplaceAllUnchecked(t2, "/", "");
|
| + H.checkString("");
|
| + C.JSArray_methods.insert$2(t1, 0, H.stringReplaceAllUnchecked(t2, "\\", ""));
|
| + return P.Uri_Uri(null, null, null, parsed.parts, null, null, null, "file", "");
|
| + }
|
| + },
|
| + _getRoot$1: function(path) {
|
| + var t1, start;
|
| + t1 = J.getInterceptor$asx(path);
|
| + if (J.$lt$n(t1.get$length(path), 3))
|
| + return;
|
| + if (N.isAlphabetic(t1.codeUnitAt$1(path, 0))) {
|
| + if (C.JSString_methods.codeUnitAt$1(path, 1) !== 58)
|
| + return;
|
| + t1 = C.JSString_methods.codeUnitAt$1(path, 2);
|
| + if (!(t1 === 47 || t1 === 92))
|
| + return;
|
| + return C.JSString_methods.substring$2(path, 0, 3);
|
| + }
|
| + if (!C.JSString_methods.startsWith$1(path, "\\\\"))
|
| + return;
|
| + t1 = path.length;
|
| + start = 2;
|
| + while (true) {
|
| + if (!(start < t1 && C.JSString_methods.codeUnitAt$1(path, start) !== 92))
|
| + break;
|
| + ++start;
|
| + }
|
| + if (start === 2 || start === t1)
|
| + return;
|
| + ++start;
|
| + if (C.JSString_methods.codeUnitAt$1(path, start) === 92)
|
| + return;
|
| + ++start;
|
| + while (true) {
|
| + if (!(start < t1 && C.JSString_methods.codeUnitAt$1(path, start) !== 92))
|
| + break;
|
| + ++start;
|
| + }
|
| + return C.JSString_methods.substring$2(path, 0, start);
|
| + }
|
| + },
|
| + WindowsStyle_absolutePathToUri_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(part) {
|
| + return !J.$eq(part, "");
|
| + }
|
| + }
|
| +}],
|
| +["path.utils", "package:path/src/utils.dart", , N, {
|
| + "^": "",
|
| + isAlphabetic: function($char) {
|
| + var t1;
|
| + if (!($char >= 65 && $char <= 90))
|
| + t1 = $char >= 97 && $char <= 122;
|
| + else
|
| + t1 = true;
|
| + return t1;
|
| + }
|
| +}],
|
| +["stack_trace.src.utils", "package:stack_trace/src/utils.dart", , N, {
|
| + "^": "",
|
| + padRight: function(string, $length) {
|
| + var t1, t2, i;
|
| + t1 = J.get$length$asx(string);
|
| + if (typeof $length !== "number")
|
| + return H.iae($length);
|
| + if (t1 >= $length)
|
| + return string;
|
| + for (t1 = $length - string.length, t2 = string, i = 0; i < t1; ++i)
|
| + t2 += " ";
|
| + return t2.charCodeAt(0) == 0 ? t2 : t2;
|
| + }
|
| +}],
|
| +["trace", "package:stack_trace/src/trace.dart", , R, {
|
| + "^": "",
|
| + Trace: {
|
| + "^": "Object;frames",
|
| + get$terse: function() {
|
| + return this.foldFrames$2$terse(new R.Trace_terse_closure(), true);
|
| + },
|
| + foldFrames$2$terse: function(predicate, terse) {
|
| + var newFrames, t1, frame;
|
| + if (terse)
|
| + predicate = new R.Trace_foldFrames_closure(predicate);
|
| + newFrames = [];
|
| + for (t1 = this.frames, t1 = t1.get$reversed(t1), t1 = new H.ListIterator(t1, t1.get$length(t1), 0, null); t1.moveNext$0();) {
|
| + frame = t1._current;
|
| + if (predicate.call$1(frame) !== true)
|
| + newFrames.push(frame);
|
| + else if (newFrames.length === 0 || predicate.call$1(C.JSArray_methods.get$last(newFrames)) !== true)
|
| + newFrames.push(new S.Frame(frame.get$uri(), frame.line, frame.column, frame.member));
|
| + }
|
| + if (terse)
|
| + newFrames = H.setRuntimeTypeInfo(new H.MappedListIterable(newFrames, new R.Trace_foldFrames_closure0()), [null, null]).toList$0(0);
|
| + return new R.Trace(H.setRuntimeTypeInfo(new P.UnmodifiableListView(H.setRuntimeTypeInfo(new H.ReversedListIterable(newFrames), [H.getTypeArgumentByIndex(newFrames, 0)]).toList$0(0)), [S.Frame]));
|
| + },
|
| + toString$0: function(_) {
|
| + var t1 = this.frames;
|
| + return t1.map$1(t1, new R.Trace_toString_closure(t1.map$1(t1, new R.Trace_toString_closure0()).fold$2(0, 0, P.max$closure()))).join$0(0);
|
| + },
|
| + static: {Trace_Trace$from: function(trace) {
|
| + if (trace == null)
|
| + throw H.wrapException(P.ArgumentError$("Cannot create a Trace from null."));
|
| + if (!!J.getInterceptor(trace).$isTrace)
|
| + return trace;
|
| + return new S.LazyTrace(new R.Trace_Trace$from_closure(trace), null);
|
| + }, Trace_Trace$parse: function(trace) {
|
| + var error, t1, exception;
|
| + try {
|
| + if (J.get$isEmpty$asx(trace) === true) {
|
| + t1 = H.setRuntimeTypeInfo(new P.UnmodifiableListView(C.JSArray_methods.toList$0(H.setRuntimeTypeInfo([], [S.Frame]))), [S.Frame]);
|
| + return new R.Trace(t1);
|
| + }
|
| + if (J.contains$1$asx(trace, $.get$_v8Trace()) === true) {
|
| + t1 = R.Trace$parseV8(trace);
|
| + return t1;
|
| + }
|
| + if (J.contains$1$asx(trace, $.get$_firefoxSafariTrace()) === true) {
|
| + t1 = R.Trace$parseFirefox(trace);
|
| + return t1;
|
| + }
|
| + if (J.contains$1$asx(trace, $.get$_friendlyTrace()) === true) {
|
| + t1 = R.Trace$parseFriendly(trace);
|
| + return t1;
|
| + }
|
| + t1 = R.Trace$parseVM(trace);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + if (t1 instanceof P.FormatException) {
|
| + error = t1;
|
| + throw H.wrapException(P.FormatException$(H.S(J.get$message$x(error)) + "\nStack trace:\n" + H.S(trace), null, null));
|
| + } else
|
| + throw exception;
|
| + }
|
| + }, Trace$parseVM: function(trace) {
|
| + var t1 = J.trim$0$s(trace).split("\n");
|
| + t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new R.Trace$parseVM_closure()), [H.getTypeArgumentByIndex(t1, 0)]);
|
| + return new R.Trace(H.setRuntimeTypeInfo(new P.UnmodifiableListView(H.MappedIterable_MappedIterable(t1, new R.Trace$parseVM_closure0(), H.getRuntimeTypeArgument(t1, "IterableBase", 0), null).toList$0(0)), [S.Frame]));
|
| + }, Trace$parseV8: function(trace) {
|
| + var t1 = J.split$1$s(trace, "\n");
|
| + t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0));
|
| + t1 = t1.super$IterableBase$skipWhile$1(t1, new R.Trace$parseV8_closure());
|
| + return new R.Trace(H.setRuntimeTypeInfo(new P.UnmodifiableListView(H.MappedIterable_MappedIterable(t1, new R.Trace$parseV8_closure0(), H.getRuntimeTypeArgument(t1, "IterableBase", 0), null).toList$0(0)), [S.Frame]));
|
| + }, Trace$parseFirefox: function(trace) {
|
| + var t1 = J.trim$0$s(trace).split("\n");
|
| + t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new R.Trace$parseFirefox_closure()), [H.getTypeArgumentByIndex(t1, 0)]);
|
| + return new R.Trace(H.setRuntimeTypeInfo(new P.UnmodifiableListView(H.MappedIterable_MappedIterable(t1, new R.Trace$parseFirefox_closure0(), H.getRuntimeTypeArgument(t1, "IterableBase", 0), null).toList$0(0)), [S.Frame]));
|
| + }, Trace$parseFriendly: function(trace) {
|
| + var t1 = J.trim$0$s(trace).split("\n");
|
| + t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new R.Trace$parseFriendly_closure()), [H.getTypeArgumentByIndex(t1, 0)]);
|
| + return new R.Trace(H.setRuntimeTypeInfo(new P.UnmodifiableListView(H.MappedIterable_MappedIterable(t1, new R.Trace$parseFriendly_closure0(), H.getRuntimeTypeArgument(t1, "IterableBase", 0), null).toList$0(0)), [S.Frame]));
|
| + }}
|
| + },
|
| + Trace_Trace$from_closure: {
|
| + "^": "Closure:0;trace_0",
|
| + call$0: function() {
|
| + return R.Trace_Trace$parse(J.toString$0(this.trace_0));
|
| + }
|
| + },
|
| + Trace$parseVM_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + return J.get$isNotEmpty$asx(line);
|
| + }
|
| + },
|
| + Trace$parseVM_closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + return S.Frame_Frame$parseVM(line);
|
| + }
|
| + },
|
| + Trace$parseV8_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + return !J.startsWith$1$s(line, $.get$_v8TraceLine());
|
| + }
|
| + },
|
| + Trace$parseV8_closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + return S.Frame_Frame$parseV8(line);
|
| + }
|
| + },
|
| + Trace$parseFirefox_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + var t1 = J.getInterceptor$asx(line);
|
| + return t1.get$isNotEmpty(line) && !t1.$eq(line, "[native code]");
|
| + }
|
| + },
|
| + Trace$parseFirefox_closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + var match, t1, uri, t2, t3, member, column;
|
| + match = $.get$_firefoxSafariFrame().firstMatch$1(line);
|
| + if (match == null)
|
| + H.throwExpression(P.FormatException$("Couldn't parse Firefox/Safari stack trace line '" + H.S(line) + "'.", null, null));
|
| + t1 = match._match;
|
| + if (3 >= t1.length)
|
| + return H.ioore(t1, 3);
|
| + uri = S.Frame__uriOrPathToUri(t1[3]);
|
| + t2 = t1.length;
|
| + if (1 >= t2)
|
| + return H.ioore(t1, 1);
|
| + t3 = t1[1];
|
| + if (t3 != null) {
|
| + if (2 >= t2)
|
| + return H.ioore(t1, 2);
|
| + member = J.$add$ns(t3, C.JSArray_methods.join$0(P.List_List$filled(C.JSString_methods.allMatches$1("/", t1[2]).length, ".<fn>", null)));
|
| + if (J.$eq(member, ""))
|
| + member = "<fn>";
|
| + member = J.replaceFirst$2$s(member, $.get$_initialDot(), "");
|
| + } else
|
| + member = "<fn>";
|
| + if (4 >= t1.length)
|
| + return H.ioore(t1, 4);
|
| + if (J.$eq(t1[4], ""))
|
| + line = null;
|
| + else {
|
| + if (4 >= t1.length)
|
| + return H.ioore(t1, 4);
|
| + line = H.Primitives_parseInt(t1[4], null, null);
|
| + }
|
| + if (5 >= t1.length)
|
| + return H.ioore(t1, 5);
|
| + t2 = t1[5];
|
| + if (t2 == null || J.$eq(t2, ""))
|
| + column = null;
|
| + else {
|
| + if (5 >= t1.length)
|
| + return H.ioore(t1, 5);
|
| + column = H.Primitives_parseInt(t1[5], null, null);
|
| + }
|
| + return new S.Frame(uri, line, column, member);
|
| + }
|
| + },
|
| + Trace$parseFriendly_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + return !J.startsWith$1$s(line, "=====");
|
| + }
|
| + },
|
| + Trace$parseFriendly_closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(line) {
|
| + var match, t1, uri, t2, t3, t4, column;
|
| + match = $.get$_friendlyFrame().firstMatch$1(line);
|
| + if (match == null)
|
| + H.throwExpression(P.FormatException$("Couldn't parse package:stack_trace stack trace line '" + H.S(line) + "'.", null, null));
|
| + t1 = match._match;
|
| + if (1 >= t1.length)
|
| + return H.ioore(t1, 1);
|
| + uri = P.Uri_parse(t1[1]);
|
| + if (uri.scheme === "") {
|
| + t2 = $.get$context();
|
| + t3 = t2.fromUri$1(uri);
|
| + t4 = t2._context0$_current;
|
| + uri = t2.toUri$1(t2.join$8(0, t4 != null ? t4 : B.current(), t3, null, null, null, null, null, null));
|
| + }
|
| + if (2 >= t1.length)
|
| + return H.ioore(t1, 2);
|
| + t2 = t1[2];
|
| + line = t2 == null ? null : H.Primitives_parseInt(t2, null, null);
|
| + if (3 >= t1.length)
|
| + return H.ioore(t1, 3);
|
| + t2 = t1[3];
|
| + column = t2 == null ? null : H.Primitives_parseInt(t2, null, null);
|
| + if (4 >= t1.length)
|
| + return H.ioore(t1, 4);
|
| + return new S.Frame(uri, line, column, t1[4]);
|
| + }
|
| + },
|
| + Trace_terse_closure: {
|
| + "^": "Closure:2;",
|
| + call$1: function(_) {
|
| + return false;
|
| + }
|
| + },
|
| + Trace_foldFrames_closure: {
|
| + "^": "Closure:2;oldPredicate_0",
|
| + call$1: function(frame) {
|
| + if (this.oldPredicate_0.call$1(frame) === true)
|
| + return true;
|
| + if (frame.get$isCore())
|
| + return true;
|
| + if (J.$eq(frame.get$$package(), "stack_trace"))
|
| + return true;
|
| + if (J.contains$1$asx(frame.member, "<async>") !== true)
|
| + return false;
|
| + return frame.line == null;
|
| + }
|
| + },
|
| + Trace_foldFrames_closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(frame) {
|
| + var t1, t2;
|
| + if (!frame.get$isCore())
|
| + return frame;
|
| + t1 = frame.uri;
|
| + t1 = $.get$context().prettyUri$1(t1);
|
| + t2 = $.get$_terseRegExp();
|
| + H.checkString("");
|
| + return new S.Frame(P.Uri_parse(H.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.member);
|
| + }
|
| + },
|
| + Trace_toString_closure0: {
|
| + "^": "Closure:2;",
|
| + call$1: function(frame) {
|
| + return J.get$length$asx(J.get$location$x(frame));
|
| + }
|
| + },
|
| + Trace_toString_closure: {
|
| + "^": "Closure:2;longest_0",
|
| + call$1: function(frame) {
|
| + return H.S(N.padRight(J.get$location$x(frame), this.longest_0)) + " " + H.S(frame.get$member()) + "\n";
|
| + }
|
| + }
|
| +}],
|
| +["unittest.multi_channel", "package:unittest/src/util/multi_channel.dart", , K, {
|
| + "^": "",
|
| + _MultiChannel: {
|
| + "^": "Object;_innerStream,_innerSink,_innerStreamSubscription,_streamController,_sinkController,_streamControllers,_sinkControllers,_nextId",
|
| + virtualChannel$1: function(id) {
|
| + var t1, t2, inputId, t3, streamController, sinkController;
|
| + t1 = {};
|
| + if (this._innerStream == null)
|
| + throw H.wrapException(P.StateError$("The underlying channel is closed."));
|
| + t1.inputId_0 = null;
|
| + t1.outputId_1 = null;
|
| + if (id != null) {
|
| + t1.inputId_0 = id;
|
| + t1.outputId_1 = H.intTypeCast(id) + 1;
|
| + t2 = id;
|
| + } else {
|
| + t2 = this._nextId;
|
| + inputId = t2 + 1;
|
| + t1.inputId_0 = inputId;
|
| + t1.outputId_1 = t2;
|
| + this._nextId = t2 + 2;
|
| + t2 = inputId;
|
| + }
|
| + t3 = this._streamControllers;
|
| + if (t3.containsKey$1(t2))
|
| + throw H.wrapException(P.ArgumentError$("A virtual channel with id " + H.S(id) + " already exists."));
|
| + streamController = P.StreamController_StreamController(null, null, null, null, true, null);
|
| + sinkController = P.StreamController_StreamController(null, null, null, null, true, null);
|
| + t3.$indexSet(0, t1.inputId_0, streamController);
|
| + this._sinkControllers.$indexSet(0, t1.inputId_0, sinkController);
|
| + H.setRuntimeTypeInfo(new P._ControllerStream(sinkController), [null]).listen$2$onDone(new K._MultiChannel_virtualChannel_closure(t1, this), new K._MultiChannel_virtualChannel_closure0(t1, this));
|
| + return new K.VirtualChannel(this, t1.outputId_1, H.setRuntimeTypeInfo(new P._ControllerStream(streamController), [null]), H.setRuntimeTypeInfo(new P._StreamSinkWrapper(sinkController), [H.getRuntimeTypeArgument(sinkController, "_StreamController", 0)]));
|
| + },
|
| + _closeChannel$2: function(inputId, outputId) {
|
| + var t1, t2;
|
| + t1 = this._streamControllers;
|
| + J.close$0$x(t1.remove$1(0, inputId));
|
| + J.close$0$x(this._sinkControllers.remove$1(0, inputId));
|
| + t2 = this._innerSink;
|
| + if (t2 == null)
|
| + return;
|
| + t2 = t2._async$_target;
|
| + if (t2._state >= 4)
|
| + H.throwExpression(t2._badEventState$0());
|
| + t2._async$_add$1([outputId]);
|
| + if (t1.__js_helper$_length === 0)
|
| + this._closeInnerChannel$0();
|
| + },
|
| + _closeInnerChannel$0: [function() {
|
| + this._innerSink._async$_target.close$0(0);
|
| + this._innerStreamSubscription.cancel$0();
|
| + this._innerStream = null;
|
| + this._innerSink = null;
|
| + for (var t1 = this._sinkControllers, t1 = t1.get$values(t1), t1 = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "IterableBase", 0)), t1 = new H.ListIterator(t1, t1.length, 0, null); t1.moveNext$0();)
|
| + J.close$0$x(t1._current);
|
| + }, "call$0", "get$_closeInnerChannel", 0, 0, 1],
|
| + _MultiChannel$2: function(_innerStream, _innerSink) {
|
| + var t1, t2;
|
| + t1 = this._streamController;
|
| + this._streamControllers.$indexSet(0, 0, t1);
|
| + t2 = this._sinkController;
|
| + this._sinkControllers.$indexSet(0, 0, t2);
|
| + H.setRuntimeTypeInfo(new P._ControllerStream(t2), [null]).listen$2$onDone(new K._MultiChannel_closure(this), new K._MultiChannel_closure0(this));
|
| + this._innerStreamSubscription = this._innerStream.listen$3$onDone$onError(new K._MultiChannel_closure1(this), this.get$_closeInnerChannel(), t1.get$addError());
|
| + },
|
| + static: {_MultiChannel$: function(_innerStream, _innerSink) {
|
| + var t1 = new K._MultiChannel(_innerStream, _innerSink, null, P.StreamController_StreamController(null, null, null, null, true, null), P.StreamController_StreamController(null, null, null, null, true, null), P.LinkedHashMap_LinkedHashMap(null, null, null, P.$int, P.StreamController), P.LinkedHashMap_LinkedHashMap(null, null, null, P.$int, P.StreamController), 1);
|
| + t1._MultiChannel$2(_innerStream, _innerSink);
|
| + return t1;
|
| + }}
|
| + },
|
| + _MultiChannel_closure: {
|
| + "^": "Closure:2;this_0",
|
| + call$1: function(message) {
|
| + var t1 = this.this_0._innerSink._async$_target;
|
| + if (t1._state >= 4)
|
| + H.throwExpression(t1._badEventState$0());
|
| + t1._async$_add$1([0, message]);
|
| + return;
|
| + }
|
| + },
|
| + _MultiChannel_closure0: {
|
| + "^": "Closure:0;this_1",
|
| + call$0: function() {
|
| + return this.this_1._closeChannel$2(0, 0);
|
| + }
|
| + },
|
| + _MultiChannel_closure1: {
|
| + "^": "Closure:2;this_2",
|
| + call$1: function(message) {
|
| + var t1, id, t2, sink;
|
| + t1 = J.getInterceptor$asx(message);
|
| + id = t1.$index(message, 0);
|
| + t2 = this.this_2;
|
| + sink = t2._streamControllers.$index(0, id);
|
| + if (sink == null)
|
| + return;
|
| + if (J.$gt$n(t1.get$length(message), 1)) {
|
| + J.add$1$ax(sink, t1.$index(message, 1));
|
| + return;
|
| + }
|
| + J.close$0$x(t2._sinkControllers.$index(0, id));
|
| + }
|
| + },
|
| + _MultiChannel_virtualChannel_closure: {
|
| + "^": "Closure:2;box_0,this_1",
|
| + call$1: function(message) {
|
| + var t1, t2;
|
| + t1 = this.this_1._innerSink;
|
| + t2 = this.box_0.outputId_1;
|
| + t1 = t1._async$_target;
|
| + if (t1._state >= 4)
|
| + H.throwExpression(t1._badEventState$0());
|
| + t1._async$_add$1([t2, message]);
|
| + return;
|
| + }
|
| + },
|
| + _MultiChannel_virtualChannel_closure0: {
|
| + "^": "Closure:0;box_0,this_2",
|
| + call$0: function() {
|
| + var t1 = this.box_0;
|
| + return this.this_2._closeChannel$2(t1.inputId_0, t1.outputId_1);
|
| + }
|
| + },
|
| + VirtualChannel: {
|
| + "^": "Object;_parent,id,stream,sink"
|
| + }
|
| +}],
|
| +["unittest.runner.browser.host", "host.dart", , O, {
|
| + "^": "",
|
| + main: [function() {
|
| + P.runZoned(new O.main_closure(), new O.main_closure0(), null, null);
|
| + }, "call$0", "main$closure", 0, 0, 1],
|
| + _connectToServer: function() {
|
| + var currentUrl, t1, scheme, isFile, userInfo, port, host, path, t2, query, fragment, webSocket, inputController, outputController;
|
| + currentUrl = P.Uri_parse(window.location.href);
|
| + t1 = currentUrl._queryParameters;
|
| + if (t1 == null) {
|
| + t1 = currentUrl._query;
|
| + t1 = H.setRuntimeTypeInfo(new P.UnmodifiableMapView(P.Uri_splitQueryString(t1 == null ? "" : t1, C.Utf8Codec_false)), [null, null]);
|
| + currentUrl._queryParameters = t1;
|
| + }
|
| + t1 = currentUrl.resolveUri$1(P.Uri_parse(J.$index$asx(t1._collection$_map, "managerUrl")));
|
| + scheme = P.Uri__makeScheme("ws", 2);
|
| + isFile = scheme === "file";
|
| + userInfo = t1._userInfo;
|
| + port = P.Uri__makePort(t1._port, scheme);
|
| + if (t1._host != null)
|
| + host = t1.get$host(t1);
|
| + else
|
| + host = userInfo.length !== 0 || port != null || isFile ? "" : null;
|
| + path = t1._path;
|
| + if (!isFile)
|
| + t2 = host != null && path.length !== 0;
|
| + else
|
| + t2 = true;
|
| + if (t2 && !C.JSString_methods.startsWith$1(path, "/"))
|
| + path = "/" + path;
|
| + query = t1._query;
|
| + if (query != null)
|
| + ;
|
| + else
|
| + query = null;
|
| + fragment = t1._fragment;
|
| + if (fragment != null)
|
| + ;
|
| + else
|
| + fragment = null;
|
| + webSocket = W.WebSocket_WebSocket(new P.Uri(host, port, path, scheme, userInfo, query, fragment, null, null).toString$0(0), null);
|
| + inputController = P.StreamController_StreamController(null, null, null, null, true, null);
|
| + t1 = H.setRuntimeTypeInfo(new W._EventStream(webSocket, "message", false), [null]);
|
| + H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t1._html$_target, t1._eventType, W._wrapZone(new O._connectToServer_closure(inputController)), t1._useCapture), [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0();
|
| + outputController = P.StreamController_StreamController(null, null, null, null, true, null);
|
| + H.setRuntimeTypeInfo(new P._ControllerStream(outputController), [null]).listen$1(new O._connectToServer_closure0(webSocket));
|
| + return K._MultiChannel$(H.setRuntimeTypeInfo(new P._ControllerStream(inputController), [null]), H.setRuntimeTypeInfo(new P._StreamSinkWrapper(outputController), [H.getRuntimeTypeArgument(outputController, "_StreamController", 0)]));
|
| + },
|
| + _connectToIframe: function(url) {
|
| + var iframe, t1, inputController, outputController;
|
| + iframe = document.createElement("iframe", null);
|
| + t1 = J.getInterceptor$x(iframe);
|
| + t1.set$src(iframe, url);
|
| + document.body.appendChild(iframe);
|
| + inputController = P.StreamController_StreamController(null, null, null, null, true, null);
|
| + outputController = P.StreamController_StreamController(null, null, null, null, true, null);
|
| + t1 = t1.get$onLoad(iframe);
|
| + t1.get$first(t1).then$1(new O._connectToIframe_closure(iframe, inputController, outputController));
|
| + return new X.StreamChannel(H.setRuntimeTypeInfo(new P._ControllerStream(inputController), [null]), H.setRuntimeTypeInfo(new P._StreamSinkWrapper(outputController), [H.getRuntimeTypeArgument(outputController, "_StreamController", 0)]));
|
| + },
|
| + main_closure: {
|
| + "^": "Closure:0;",
|
| + call$0: function() {
|
| + var serverChannel = O._connectToServer();
|
| + H.setRuntimeTypeInfo(new P._ControllerStream(serverChannel._streamController), [null]).listen$1(new O.main__closure(serverChannel));
|
| + }
|
| + },
|
| + main__closure: {
|
| + "^": "Closure:2;serverChannel_0",
|
| + call$1: function(message) {
|
| + var t1, suiteChannel, iframeChannel;
|
| + t1 = J.getInterceptor$asx(message);
|
| + suiteChannel = this.serverChannel_0.virtualChannel$1(t1.$index(message, "channel"));
|
| + iframeChannel = O._connectToIframe(t1.$index(message, "url"));
|
| + iframeChannel.stream.pipe$1(suiteChannel.sink);
|
| + suiteChannel.stream.pipe$1(iframeChannel.sink);
|
| + }
|
| + },
|
| + main_closure0: {
|
| + "^": "Closure:15;",
|
| + call$2: function(error, stackTrace) {
|
| + P.print(H.S(error) + "\n" + H.S(R.Trace_Trace$from(stackTrace).get$terse()));
|
| + }
|
| + },
|
| + _connectToServer_closure: {
|
| + "^": "Closure:2;inputController_0",
|
| + call$1: function(message) {
|
| + var t1, t2;
|
| + t1 = this.inputController_0;
|
| + t2 = C.JsonCodec_null_null.decode$1(J.get$data$x(message));
|
| + if (t1._state >= 4)
|
| + H.throwExpression(t1._badEventState$0());
|
| + t1._async$_add$1(t2);
|
| + return;
|
| + }
|
| + },
|
| + _connectToServer_closure0: {
|
| + "^": "Closure:2;webSocket_1",
|
| + call$1: function(message) {
|
| + return this.webSocket_1.send(C.JsonCodec_null_null.encode$1(message));
|
| + }
|
| + },
|
| + _connectToIframe_closure: {
|
| + "^": "Closure:2;iframe_0,inputController_1,outputController_2",
|
| + call$1: function(_) {
|
| + var t1, t2;
|
| + t1 = this.iframe_0;
|
| + J.postMessage$2$x(J.get$contentWindow$x(t1), P.LinkedHashMap_LinkedHashMap$_literal(["command", "connect"], null, null), J.get$origin$x(window.location));
|
| + t2 = H.setRuntimeTypeInfo(new W._EventStream(window, "message", false), [null]);
|
| + H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t2._html$_target, t2._eventType, W._wrapZone(new O._connectToIframe__closure(t1, this.inputController_1)), t2._useCapture), [H.getTypeArgumentByIndex(t2, 0)])._tryResume$0();
|
| + H.setRuntimeTypeInfo(new P._ControllerStream(this.outputController_2), [null]).listen$1(new O._connectToIframe__closure0(t1));
|
| + }
|
| + },
|
| + _connectToIframe__closure: {
|
| + "^": "Closure:2;iframe_3,inputController_4",
|
| + call$1: function(message) {
|
| + var t1, t2;
|
| + t1 = J.getInterceptor$x(message);
|
| + if (t1.get$origin(message) !== J.get$origin$x(window.location))
|
| + return;
|
| + if (!J.$eq(J.$index$asx(t1.get$data(message), "href"), this.iframe_3.src))
|
| + return;
|
| + message.stopPropagation();
|
| + t1 = this.inputController_4;
|
| + t2 = J.$index$asx(P.convertNativeToDart_AcceptStructuredClone(message.data, true), "data");
|
| + if (t1._state >= 4)
|
| + H.throwExpression(t1._badEventState$0());
|
| + t1._async$_add$1(t2);
|
| + }
|
| + },
|
| + _connectToIframe__closure0: {
|
| + "^": "Closure:2;iframe_5",
|
| + call$1: function(message) {
|
| + return J.postMessage$2$x(W._convertNativeToDart_Window(this.iframe_5.contentWindow), message, J.get$origin$x(window.location));
|
| + }
|
| + }
|
| +},
|
| +1],
|
| +["unittest.stream_channel", "package:unittest/src/util/stream_channel.dart", , X, {
|
| + "^": "",
|
| + StreamChannel: {
|
| + "^": "Object;stream,sink"
|
| + }
|
| +}],
|
| +];
|
| +parseReflectionData(dart);
|
| +// getInterceptor methods
|
| +J.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")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.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")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.getInterceptor$ax = function(receiver) {
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (receiver.constructor == Array)
|
| + return J.JSArray.prototype;
|
| + if (typeof receiver != "object")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.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;
|
| +};
|
| +J.getInterceptor$ns = 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 instanceof P.Object))
|
| + return J.UnknownJavaScriptObject.prototype;
|
| + return receiver;
|
| +};
|
| +J.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;
|
| +};
|
| +J.getInterceptor$x = function(receiver) {
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (typeof receiver != "object")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.$add$ns = function(receiver, a0) {
|
| + if (typeof receiver == "number" && typeof a0 == "number")
|
| + return receiver + a0;
|
| + return J.getInterceptor$ns(receiver).$add(receiver, a0);
|
| +};
|
| +J.$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);
|
| +};
|
| +J.$gt$n = function(receiver, a0) {
|
| + if (typeof receiver == "number" && typeof a0 == "number")
|
| + return receiver > a0;
|
| + return J.getInterceptor$n(receiver).$gt(receiver, a0);
|
| +};
|
| +J.$index$asx = function(receiver, a0) {
|
| + 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);
|
| +};
|
| +J.$indexSet$ax = function(receiver, a0, a1) {
|
| + if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
|
| + return receiver[a0] = a1;
|
| + return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
|
| +};
|
| +J.$lt$n = function(receiver, a0) {
|
| + if (typeof receiver == "number" && typeof a0 == "number")
|
| + return receiver < a0;
|
| + return J.getInterceptor$n(receiver).$lt(receiver, a0);
|
| +};
|
| +J.$sub$n = function(receiver, a0) {
|
| + if (typeof receiver == "number" && typeof a0 == "number")
|
| + return receiver - a0;
|
| + return J.getInterceptor$n(receiver).$sub(receiver, a0);
|
| +};
|
| +J._addEventListener$3$x = function(receiver, a0, a1, a2) {
|
| + return J.getInterceptor$x(receiver)._addEventListener$3(receiver, a0, a1, a2);
|
| +};
|
| +J._removeEventListener$3$x = function(receiver, a0, a1, a2) {
|
| + return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2);
|
| +};
|
| +J.add$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).add$1(receiver, a0);
|
| +};
|
| +J.close$0$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).close$0(receiver);
|
| +};
|
| +J.codeUnitAt$1$s = function(receiver, a0) {
|
| + return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0);
|
| +};
|
| +J.contains$1$asx = function(receiver, a0) {
|
| + return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
|
| +};
|
| +J.elementAt$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
|
| +};
|
| +J.forEach$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
|
| +};
|
| +J.get$contentWindow$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$contentWindow(receiver);
|
| +};
|
| +J.get$data$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$data(receiver);
|
| +};
|
| +J.get$error$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$error(receiver);
|
| +};
|
| +J.get$hashCode$ = function(receiver) {
|
| + return J.getInterceptor(receiver).get$hashCode(receiver);
|
| +};
|
| +J.get$isEmpty$asx = function(receiver) {
|
| + return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
|
| +};
|
| +J.get$isNotEmpty$asx = function(receiver) {
|
| + return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
|
| +};
|
| +J.get$iterator$ax = function(receiver) {
|
| + return J.getInterceptor$ax(receiver).get$iterator(receiver);
|
| +};
|
| +J.get$last$ax = function(receiver) {
|
| + return J.getInterceptor$ax(receiver).get$last(receiver);
|
| +};
|
| +J.get$length$asx = function(receiver) {
|
| + return J.getInterceptor$asx(receiver).get$length(receiver);
|
| +};
|
| +J.get$location$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$location(receiver);
|
| +};
|
| +J.get$message$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$message(receiver);
|
| +};
|
| +J.get$origin$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$origin(receiver);
|
| +};
|
| +J.get$parent$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$parent(receiver);
|
| +};
|
| +J.get$start$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$start(receiver);
|
| +};
|
| +J.map$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).map$1(receiver, a0);
|
| +};
|
| +J.matchAsPrefix$2$s = function(receiver, a0, a1) {
|
| + return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1);
|
| +};
|
| +J.postMessage$2$x = function(receiver, a0, a1) {
|
| + return J.getInterceptor$x(receiver).postMessage$2(receiver, a0, a1);
|
| +};
|
| +J.print$1$x = function(receiver, a0) {
|
| + return J.getInterceptor$x(receiver).print$1(receiver, a0);
|
| +};
|
| +J.remove$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).remove$1(receiver, a0);
|
| +};
|
| +J.replaceAll$2$s = function(receiver, a0, a1) {
|
| + return J.getInterceptor$s(receiver).replaceAll$2(receiver, a0, a1);
|
| +};
|
| +J.replaceFirst$2$s = function(receiver, a0, a1) {
|
| + return J.getInterceptor$s(receiver).replaceFirst$2(receiver, a0, a1);
|
| +};
|
| +J.send$1$x = function(receiver, a0) {
|
| + return J.getInterceptor$x(receiver).send$1(receiver, a0);
|
| +};
|
| +J.skip$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
|
| +};
|
| +J.split$1$s = function(receiver, a0) {
|
| + return J.getInterceptor$s(receiver).split$1(receiver, a0);
|
| +};
|
| +J.startsWith$1$s = function(receiver, a0) {
|
| + return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
|
| +};
|
| +J.substring$1$s = function(receiver, a0) {
|
| + return J.getInterceptor$s(receiver).substring$1(receiver, a0);
|
| +};
|
| +J.substring$2$s = function(receiver, a0, a1) {
|
| + return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
|
| +};
|
| +J.toRadixString$1$n = function(receiver, a0) {
|
| + return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
|
| +};
|
| +J.toString$0 = function(receiver) {
|
| + return J.getInterceptor(receiver).toString$0(receiver);
|
| +};
|
| +J.trim$0$s = function(receiver) {
|
| + return J.getInterceptor$s(receiver).trim$0(receiver);
|
| +};
|
| +Isolate.makeConstantList = function(list) {
|
| + list.immutable$list = Array;
|
| + list.fixed$length = Array;
|
| + return list;
|
| +};
|
| +;
|
| +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.NativeUint8List_methods = H.NativeUint8List.prototype;
|
| +C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
|
| +C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
|
| +C.C_DynamicRuntimeType = new H.DynamicRuntimeType();
|
| +C.C_OutOfMemoryError = new P.OutOfMemoryError();
|
| +C.C__DelayedDone = new P._DelayedDone();
|
| +C.C__RootZone = new P._RootZone();
|
| +C.Duration_0 = new P.Duration(0);
|
| +C.JS_CONST_0 = function(hooks) {
|
| + if (typeof dartExperimentalFixupGetTag != "function") return hooks;
|
| + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
|
| +};
|
| +C.JS_CONST_4hp = 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.JS_CONST_8ZY = function getTagFallback(o) {
|
| + var constructor = o.constructor;
|
| + if (typeof constructor == "function") {
|
| + var name = constructor.name;
|
| + if (typeof name == "string" &&
|
| + name.length > 2 &&
|
| + name !== "Object" &&
|
| + name !== "Function.prototype") {
|
| + return name;
|
| + }
|
| + }
|
| + var s = Object.prototype.toString.call(o);
|
| + return s.substring(8, s.length - 1);
|
| +};
|
| +C.JS_CONST_Fs4 = function(hooks) { return hooks; }
|
| +;
|
| +C.JS_CONST_QJm = 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.JS_CONST_gkc = function() {
|
| + function typeNameInChrome(o) {
|
| + var constructor = o.constructor;
|
| + if (constructor) {
|
| + var name = constructor.name;
|
| + if (name) return name;
|
| + }
|
| + var s = Object.prototype.toString.call(o);
|
| + return s.substring(8, s.length - 1);
|
| + }
|
| + function getUnknownTag(object, tag) {
|
| + if (/^HTML[A-Z].*Element$/.test(tag)) {
|
| + var name = Object.prototype.toString.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: typeNameInChrome,
|
| + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
|
| + prototypeForTag: prototypeForTag,
|
| + discriminator: discriminator };
|
| +};
|
| +C.JS_CONST_gkc0 = 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.JS_CONST_rr7 = 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.JsonCodec_null_null = new P.JsonCodec(null, null);
|
| +C.JsonDecoder_null = new P.JsonDecoder(null);
|
| +C.JsonEncoder_null_null = new P.JsonEncoder(null, null);
|
| +C.List_127_2047_65535_1114111 = H.setRuntimeTypeInfo(Isolate.makeConstantList([127, 2047, 65535, 1114111]), [P.$int]);
|
| +C.List_2Vk = Isolate.makeConstantList([0, 0, 32776, 33792, 1, 10240, 0, 0]);
|
| +C.List_CVk = Isolate.makeConstantList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]);
|
| +C.List_JYB = Isolate.makeConstantList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]);
|
| +C.List_WnV = Isolate.makeConstantList(["/", "\\"]);
|
| +C.List_cSk = Isolate.makeConstantList(["/"]);
|
| +C.List_empty = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [P.String]);
|
| +C.List_gRj = Isolate.makeConstantList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]);
|
| +C.List_nxB = Isolate.makeConstantList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]);
|
| +C.List_qNA = Isolate.makeConstantList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]);
|
| +C.List_qg4 = Isolate.makeConstantList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]);
|
| +C.List_qg40 = Isolate.makeConstantList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]);
|
| +C.Utf8Codec_false = new P.Utf8Codec(false);
|
| +C._ZoneFunction_3bB = new P._ZoneFunction(C.C__RootZone, P._rootCreatePeriodicTimer$closure());
|
| +C._ZoneFunction_7G2 = new P._ZoneFunction(C.C__RootZone, P._rootRegisterBinaryCallback$closure());
|
| +C._ZoneFunction_Eeh = new P._ZoneFunction(C.C__RootZone, P._rootRegisterUnaryCallback$closure());
|
| +C._ZoneFunction_NMc = new P._ZoneFunction(C.C__RootZone, P._rootHandleUncaughtError$closure());
|
| +C._ZoneFunction__RootZone__rootCreateTimer = new P._ZoneFunction(C.C__RootZone, P._rootCreateTimer$closure());
|
| +C._ZoneFunction__RootZone__rootErrorCallback = new P._ZoneFunction(C.C__RootZone, P._rootErrorCallback$closure());
|
| +C._ZoneFunction__RootZone__rootFork = new P._ZoneFunction(C.C__RootZone, P._rootFork$closure());
|
| +C._ZoneFunction__RootZone__rootPrint = new P._ZoneFunction(C.C__RootZone, P._rootPrint$closure());
|
| +C._ZoneFunction__RootZone__rootRegisterCallback = new P._ZoneFunction(C.C__RootZone, P._rootRegisterCallback$closure());
|
| +C._ZoneFunction__RootZone__rootRun = new P._ZoneFunction(C.C__RootZone, P._rootRun$closure());
|
| +C._ZoneFunction__RootZone__rootRunBinary = new P._ZoneFunction(C.C__RootZone, P._rootRunBinary$closure());
|
| +C._ZoneFunction__RootZone__rootRunUnary = new P._ZoneFunction(C.C__RootZone, P._rootRunUnary$closure());
|
| +C._ZoneFunction__RootZone__rootScheduleMicrotask = new P._ZoneFunction(C.C__RootZone, P._rootScheduleMicrotask$closure());
|
| +C._ZoneSpecification_ALf = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null);
|
| +{
|
| + init.isHunkLoaded = function(hunkHash) {
|
| + return !!$dart_deferred_initializers[hunkHash];
|
| + };
|
| + init.deferredInitialized = new Object(null);
|
| + init.isHunkInitialized = function(hunkHash) {
|
| + return init.deferredInitialized[hunkHash];
|
| + };
|
| + init.initializeLoadedHunk = function(hunkHash) {
|
| + $dart_deferred_initializers[hunkHash](globalsHolder, $);
|
| + init.deferredInitialized[hunkHash] = true;
|
| + };
|
| +}
|
| +init.deferredLibraryUris = {};
|
| +init.deferredLibraryHashes = {};
|
| +$.IsolateNatives_enableSpawnWorker = null;
|
| +$.RawReceivePortImpl__nextFreeId = 1;
|
| +$.Primitives_mirrorFunctionCacheName = "$cachedFunction";
|
| +$.Primitives_mirrorInvokeCacheName = "$cachedInvocation";
|
| +$.Closure_functionCounter = 0;
|
| +$.BoundClosure_selfFieldNameCache = null;
|
| +$.BoundClosure_receiverFieldNameCache = null;
|
| +$.RuntimeFunctionType_inAssert = false;
|
| +$.getTagFunction = null;
|
| +$.alternateTagFunction = null;
|
| +$.prototypeForTagFunction = null;
|
| +$.dispatchRecordsForInstanceTags = null;
|
| +$.interceptorsForUncacheableTags = null;
|
| +$.initNativeDispatchFlag = null;
|
| +$.printToZone = null;
|
| +$._nextCallback = null;
|
| +$._lastCallback = null;
|
| +$._lastPriorityCallback = null;
|
| +$._isInCallbackLoop = false;
|
| +$.Zone__current = C.C__RootZone;
|
| +$._RootZone__rootDelegate = null;
|
| +$.Expando__keyCount = 0;
|
| +$.Device__isOpera = null;
|
| +$.Device__isIE = null;
|
| +$.Device__isFirefox = null;
|
| +$.Device__isWebKit = null;
|
| +$.Device__cachedCssPrefix = null;
|
| +Isolate.$lazy($, "thisScript", "IsolateNatives_thisScript", "get$IsolateNatives_thisScript", function() {
|
| + return H.IsolateNatives_computeThisScript();
|
| +});
|
| +Isolate.$lazy($, "workerIds", "IsolateNatives_workerIds", "get$IsolateNatives_workerIds", function() {
|
| + return new P.Expando(null);
|
| +});
|
| +Isolate.$lazy($, "noSuchMethodPattern", "TypeErrorDecoder_noSuchMethodPattern", "get$TypeErrorDecoder_noSuchMethodPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({toString: function() {
|
| + return "$receiver$";
|
| + }}));
|
| +});
|
| +Isolate.$lazy($, "notClosurePattern", "TypeErrorDecoder_notClosurePattern", "get$TypeErrorDecoder_notClosurePattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null, toString: function() {
|
| + return "$receiver$";
|
| + }}));
|
| +});
|
| +Isolate.$lazy($, "nullCallPattern", "TypeErrorDecoder_nullCallPattern", "get$TypeErrorDecoder_nullCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
|
| +});
|
| +Isolate.$lazy($, "nullLiteralCallPattern", "TypeErrorDecoder_nullLiteralCallPattern", "get$TypeErrorDecoder_nullLiteralCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(function() {
|
| + var $argumentsExpr$ = '$arguments$';
|
| + try {
|
| + null.$method$($argumentsExpr$);
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| + }());
|
| +});
|
| +Isolate.$lazy($, "undefinedCallPattern", "TypeErrorDecoder_undefinedCallPattern", "get$TypeErrorDecoder_undefinedCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
|
| +});
|
| +Isolate.$lazy($, "undefinedLiteralCallPattern", "TypeErrorDecoder_undefinedLiteralCallPattern", "get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(function() {
|
| + var $argumentsExpr$ = '$arguments$';
|
| + try {
|
| + (void 0).$method$($argumentsExpr$);
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| + }());
|
| +});
|
| +Isolate.$lazy($, "nullPropertyPattern", "TypeErrorDecoder_nullPropertyPattern", "get$TypeErrorDecoder_nullPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
|
| +});
|
| +Isolate.$lazy($, "nullLiteralPropertyPattern", "TypeErrorDecoder_nullLiteralPropertyPattern", "get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(function() {
|
| + try {
|
| + null.$method$;
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| + }());
|
| +});
|
| +Isolate.$lazy($, "undefinedPropertyPattern", "TypeErrorDecoder_undefinedPropertyPattern", "get$TypeErrorDecoder_undefinedPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
|
| +});
|
| +Isolate.$lazy($, "undefinedLiteralPropertyPattern", "TypeErrorDecoder_undefinedLiteralPropertyPattern", "get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(function() {
|
| + try {
|
| + (void 0).$method$;
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| + }());
|
| +});
|
| +Isolate.$lazy($, "scheduleImmediateClosure", "_AsyncRun_scheduleImmediateClosure", "get$_AsyncRun_scheduleImmediateClosure", function() {
|
| + return P._AsyncRun__initializeScheduleImmediate();
|
| +});
|
| +Isolate.$lazy($, "_nullFuture", "Future__nullFuture", "get$Future__nullFuture", function() {
|
| + return P._Future$immediate(null, null);
|
| +});
|
| +Isolate.$lazy($, "_rootMap", "_RootZone__rootMap", "get$_RootZone__rootMap", function() {
|
| + return P.HashMap_HashMap(null, null, null, null, null);
|
| +});
|
| +Isolate.$lazy($, "_toStringVisiting", "IterableBase__toStringVisiting", "get$IterableBase__toStringVisiting", function() {
|
| + return [];
|
| +});
|
| +Isolate.$lazy($, "_vmFrame", "_vmFrame", "get$_vmFrame", function() {
|
| + return P.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_v8Frame", "_v8Frame", "get$_v8Frame", function() {
|
| + return P.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_v8UrlLocation", "_v8UrlLocation", "get$_v8UrlLocation", function() {
|
| + return P.RegExp_RegExp("^(.*):(\\d+):(\\d+)$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_v8EvalLocation", "_v8EvalLocation", "get$_v8EvalLocation", function() {
|
| + return P.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_firefoxSafariFrame", "_firefoxSafariFrame", "get$_firefoxSafariFrame", function() {
|
| + return P.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_friendlyFrame", "_friendlyFrame", "get$_friendlyFrame", function() {
|
| + return P.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d]\\S*)$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_asyncBody", "_asyncBody", "get$_asyncBody", function() {
|
| + return P.RegExp_RegExp("<(<anonymous closure>|[^>]+)_async_body>", true, false);
|
| +});
|
| +Isolate.$lazy($, "_initialDot", "_initialDot", "get$_initialDot", function() {
|
| + return P.RegExp_RegExp("^\\.", true, false);
|
| +});
|
| +Isolate.$lazy($, "_uriRegExp", "Frame__uriRegExp", "get$Frame__uriRegExp", function() {
|
| + return P.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", true, false);
|
| +});
|
| +Isolate.$lazy($, "_windowsRegExp", "Frame__windowsRegExp", "get$Frame__windowsRegExp", function() {
|
| + return P.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", true, false);
|
| +});
|
| +Isolate.$lazy($, "windows", "windows", "get$windows", function() {
|
| + return F.Context_Context(null, $.get$Style_windows());
|
| +});
|
| +Isolate.$lazy($, "context", "context", "get$context", function() {
|
| + return new F.Context($.get$Style_platform(), null);
|
| +});
|
| +Isolate.$lazy($, "posix", "Style_posix", "get$Style_posix", function() {
|
| + return new Z.PosixStyle("posix", "/", C.List_cSk, P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("[^/]$", true, false), P.RegExp_RegExp("^/", true, false), null);
|
| +});
|
| +Isolate.$lazy($, "windows", "Style_windows", "get$Style_windows", function() {
|
| + return new T.WindowsStyle("windows", "\\", C.List_WnV, P.RegExp_RegExp("[/\\\\]", true, false), P.RegExp_RegExp("[^/\\\\]$", true, false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false));
|
| +});
|
| +Isolate.$lazy($, "url", "Style_url", "get$Style_url", function() {
|
| + return new E.UrlStyle("url", "/", C.List_cSk, P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false), P.RegExp_RegExp("^/", true, false));
|
| +});
|
| +Isolate.$lazy($, "platform", "Style_platform", "get$Style_platform", function() {
|
| + return S.Style__getPlatformStyle();
|
| +});
|
| +Isolate.$lazy($, "_terseRegExp", "_terseRegExp", "get$_terseRegExp", function() {
|
| + return P.RegExp_RegExp("(-patch)?(/.*)?$", true, false);
|
| +});
|
| +Isolate.$lazy($, "_v8Trace", "_v8Trace", "get$_v8Trace", function() {
|
| + return P.RegExp_RegExp("\\n ?at ", true, false);
|
| +});
|
| +Isolate.$lazy($, "_v8TraceLine", "_v8TraceLine", "get$_v8TraceLine", function() {
|
| + return P.RegExp_RegExp(" ?at ", true, false);
|
| +});
|
| +Isolate.$lazy($, "_firefoxSafariTrace", "_firefoxSafariTrace", "get$_firefoxSafariTrace", function() {
|
| + return P.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true, true);
|
| +});
|
| +Isolate.$lazy($, "_friendlyTrace", "_friendlyTrace", "get$_friendlyTrace", function() {
|
| + return P.RegExp_RegExp("^[^\\s]+( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true, true);
|
| +});
|
| +
|
| +init.metadata = [{func: "args0"},
|
| +{func: "void_", void: true},
|
| +{func: "args1", args: [null]},
|
| +{func: "dynamic__dynamic_String", args: [null, P.String]},
|
| +{func: "dynamic__String", args: [P.String]},
|
| +{func: "dynamic__void_", args: [{func: "void_", void: true}]},
|
| +{func: "void__dynamic__StackTrace", void: true, args: [null], opt: [P.StackTrace]},
|
| +{func: "dynamic__dynamic__dynamic", args: [null], opt: [null]},
|
| +{func: "bool_", ret: P.bool},
|
| +{func: "dynamic__bool", args: [P.bool]},
|
| +{func: "void__Object__StackTrace", void: true, args: [P.Object], opt: [P.StackTrace]},
|
| +{func: "void__Object_StackTrace", void: true, args: [P.Object, P.StackTrace]},
|
| +{func: "dynamic__dynamic_StackTrace", args: [null, P.StackTrace]},
|
| +{func: "void__dynamic_StackTrace", void: true, args: [null, P.StackTrace]},
|
| +{func: "dynamic__Zone_ZoneDelegate_Zone_dynamic_StackTrace", args: [P.Zone, P.ZoneDelegate, P.Zone, null, P.StackTrace]},
|
| +{func: "args2", args: [null, null]},
|
| +{func: "dynamic__String_dynamic", args: [P.String, null]},
|
| +{func: "int__dynamic_int", ret: P.$int, args: [null, P.$int]},
|
| +{func: "void__int_int", void: true, args: [P.$int, P.$int]},
|
| +{func: "dynamic__Symbol_dynamic", args: [P.Symbol, null]},
|
| +{func: "String__int", ret: P.String, args: [P.$int]},
|
| +{func: "bool__int", ret: P.bool, args: [P.$int]},
|
| +{func: "int__dynamic_dynamic", ret: P.$int, args: [null, null]},
|
| +{func: "void__String", void: true, args: [P.String]},
|
| +{func: "void__String__dynamic", void: true, args: [P.String], opt: [null]},
|
| +{func: "int__int_int", ret: P.$int, args: [P.$int, P.$int]},
|
| +{func: "int__dynamic", ret: P.$int, args: [null]},
|
| +{func: "dynamic__int", args: [P.$int]},
|
| +{func: "dynamic__int_dynamic", args: [P.$int, null]},
|
| +{func: "void__void_", void: true, args: [{func: "void_", void: true}]},
|
| +{func: "void__dynamic", void: true, args: [null]},
|
| +{func: "void__Zone_ZoneDelegate_Zone_dynamic_StackTrace", void: true, args: [P.Zone, P.ZoneDelegate, P.Zone, null, P.StackTrace]},
|
| +{func: "dynamic__Zone_ZoneDelegate_Zone_args0", args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args0"}]},
|
| +{func: "dynamic__Zone_ZoneDelegate_Zone_args1_dynamic", args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args1", args: [null]}, null]},
|
| +{func: "dynamic__Zone_ZoneDelegate_Zone_args2_dynamic_dynamic", args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args2", args: [null, null]}, null, null]},
|
| +{func: "ZoneCallback__Zone_ZoneDelegate_Zone_args0", ret: {func: "args0"}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args0"}]},
|
| +{func: "ZoneUnaryCallback__Zone_ZoneDelegate_Zone_args1", ret: {func: "args1", args: [null]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args1", args: [null]}]},
|
| +{func: "ZoneBinaryCallback__Zone_ZoneDelegate_Zone_args2", ret: {func: "args2", args: [null, null]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args2", args: [null, null]}]},
|
| +{func: "AsyncError__Zone_ZoneDelegate_Zone_Object_StackTrace", ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]},
|
| +{func: "void__Zone_ZoneDelegate_Zone_args0", void: true, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: "args0"}]},
|
| +{func: "Timer__Zone_ZoneDelegate_Zone_Duration_void_", ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: "void_", void: true}]},
|
| +{func: "Timer__Zone_ZoneDelegate_Zone_Duration_void__Timer", ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: "void__Timer", void: true, args: [P.Timer]}]},
|
| +{func: "void__Zone_ZoneDelegate_Zone_String", void: true, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]},
|
| +{func: "Zone__Zone_ZoneDelegate_Zone_ZoneSpecification_Map", ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, P.Map]},
|
| +{func: "bool__dynamic_dynamic", ret: P.bool, args: [null, null]},
|
| +{func: "Object__dynamic", ret: P.Object, args: [null]},
|
| +{func: "bool__Object_Object", ret: P.bool, args: [P.Object, P.Object]},
|
| +{func: "int__Object", ret: P.$int, args: [P.Object]},
|
| +{func: "String__String", ret: P.String, args: [P.String]},
|
| +{func: "num__num_num", ret: P.num, args: [P.num, P.num]},
|
| +,
|
| +];
|
| +$ = null;
|
| +Isolate = Isolate.$finishIsolateConstructor(Isolate);
|
| +$ = new Isolate();
|
| +function convertToFastObject(properties) {
|
| + function MyClass() {
|
| + }
|
| + MyClass.prototype = properties;
|
| + new MyClass();
|
| + return properties;
|
| +}
|
| +;
|
| +A = convertToFastObject(A);
|
| +B = convertToFastObject(B);
|
| +C = convertToFastObject(C);
|
| +D = convertToFastObject(D);
|
| +E = convertToFastObject(E);
|
| +F = convertToFastObject(F);
|
| +G = convertToFastObject(G);
|
| +H = convertToFastObject(H);
|
| +J = convertToFastObject(J);
|
| +K = convertToFastObject(K);
|
| +L = convertToFastObject(L);
|
| +M = convertToFastObject(M);
|
| +N = convertToFastObject(N);
|
| +O = convertToFastObject(O);
|
| +P = convertToFastObject(P);
|
| +Q = convertToFastObject(Q);
|
| +R = convertToFastObject(R);
|
| +S = convertToFastObject(S);
|
| +T = convertToFastObject(T);
|
| +U = convertToFastObject(U);
|
| +V = convertToFastObject(V);
|
| +W = convertToFastObject(W);
|
| +X = convertToFastObject(X);
|
| +Y = convertToFastObject(Y);
|
| +Z = convertToFastObject(Z);
|
| +function init() {
|
| + Isolate.$isolateProperties = Object.create(null);
|
| + init.allClasses = Object.create(null);
|
| + init.getTypeFromName = function(name) {
|
| + return init.allClasses[name];
|
| + };
|
| + init.interceptorsByTag = Object.create(null);
|
| + init.leafTags = Object.create(null);
|
| + init.finishedClasses = Object.create(null);
|
| + Isolate.$lazy = function(prototype, staticName, fieldName, getterName, lazyValue) {
|
| + if (!init.lazies)
|
| + init.lazies = Object.create(null);
|
| + init.lazies[fieldName] = getterName;
|
| + var sentinelUndefined = {};
|
| + var sentinelInProgress = {};
|
| + prototype[fieldName] = sentinelUndefined;
|
| + prototype[getterName] = function() {
|
| + var result = $[fieldName];
|
| + try {
|
| + if (result === sentinelUndefined) {
|
| + $[fieldName] = sentinelInProgress;
|
| + try {
|
| + result = $[fieldName] = lazyValue();
|
| + } finally {
|
| + if (result === sentinelUndefined)
|
| + $[fieldName] = null;
|
| + }
|
| + } else
|
| + if (result === sentinelInProgress)
|
| + H.throwCyclicInit(staticName);
|
| + return result;
|
| + } finally {
|
| + $[getterName] = function() {
|
| + return this[fieldName];
|
| + };
|
| + }
|
| + };
|
| + };
|
| + Isolate.$finishIsolateConstructor = function(oldIsolate) {
|
| + var isolateProperties = oldIsolate.$isolateProperties;
|
| + function Isolate() {
|
| + var staticNames = Object.keys(isolateProperties);
|
| + for (var i = 0; i < staticNames.length; i++) {
|
| + var staticName = staticNames[i];
|
| + this[staticName] = isolateProperties[staticName];
|
| + }
|
| + var lazies = init.lazies;
|
| + var lazyInitializers = lazies ? Object.keys(lazies) : [];
|
| + for (var i = 0; i < lazyInitializers.length; i++)
|
| + this[lazies[lazyInitializers[i]]] = null;
|
| + function ForceEfficientMap() {
|
| + }
|
| + ForceEfficientMap.prototype = this;
|
| + new ForceEfficientMap();
|
| + for (var i = 0; i < lazyInitializers.length; i++) {
|
| + var lazyInitName = lazies[lazyInitializers[i]];
|
| + this[lazyInitName] = isolateProperties[lazyInitName];
|
| + }
|
| + }
|
| + Isolate.prototype = oldIsolate.prototype;
|
| + Isolate.prototype.constructor = Isolate;
|
| + Isolate.$isolateProperties = isolateProperties;
|
| + Isolate.makeConstantList = oldIsolate.makeConstantList;
|
| + return Isolate;
|
| + };
|
| +}
|
| +!function() {
|
| + function intern(s) {
|
| + var o = {};
|
| + o[s] = 1;
|
| + return Object.keys(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");
|
| +}();
|
| +;// BEGIN invoke [main].
|
| +(function(callback) {
|
| + if (typeof document === "undefined") {
|
| + callback(null);
|
| + return;
|
| + }
|
| + if (document.currentScript) {
|
| + 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(function(a) {
|
| + H.startRootIsolate(O.main$closure(), a);
|
| + }, []);
|
| + else
|
| + (function(a) {
|
| + H.startRootIsolate(O.main$closure(), a);
|
| + })([]);
|
| +});
|
| +;
|
| +// END invoke [main].
|
| +})()
|
| +
|
| +//# sourceMappingURL=host.dart.js.map
|
|
|