diff --git a/extras/integration_tests/web/test/big_int_test.dart b/drift/test/platforms/web/big_int_test.dart similarity index 100% rename from extras/integration_tests/web/test/big_int_test.dart rename to drift/test/platforms/web/big_int_test.dart diff --git a/examples/app/web/shared_worker.dart.js b/examples/app/web/shared_worker.dart.js new file mode 100644 index 00000000..3fa9c7a7 --- /dev/null +++ b/examples/app/web/shared_worker.dart.js @@ -0,0 +1,25459 @@ +// Generated by dart2js (NullSafetyMode.sound, csp, deferred-serialization, intern-composite-values), the Dart to JavaScript compiler version: 3.0.0. +// The code supports the following hooks: +// dartPrint(message): +// if this function is defined it is called instead of the Dart [print] +// method. +// +// dartMainRunner(main, args): +// if this function is defined, the Dart [main] method will not be invoked +// directly. Instead, a closure that will invoke [main], and its arguments +// [args] is passed to [dartMainRunner]. +// +// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId, loadPriority): +// if this function is defined, it will be called when a deferred library +// is loaded. It should load and eval the javascript of `uri`, and call +// successCallback. If it fails to do so, it should call errorCallback with +// an error. The loadId argument is the deferred import that resulted in +// this uri being loaded. The loadPriority argument is the priority the +// library should be loaded with as specified in the code via the +// load-priority annotation (0: normal, 1: high). +// +// dartCallInstrumentation(id, qualifiedName): +// if this function is defined, it will be called at each entry of a +// method or constructor. Used only when compiling programs with +// --experiment-call-instrumentation. +(function dartProgram() { + function copyProperties(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + to[key] = from[key]; + } + } + function mixinPropertiesHard(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!to.hasOwnProperty(key)) + to[key] = from[key]; + } + } + function mixinPropertiesEasy(from, to) { + Object.assign(to, from); + } + var supportsDirectProtoAccess = function() { + var cls = function() { + }; + cls.prototype = {p: {}}; + var object = new cls(); + if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p)) + return false; + try { + if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) + return true; + if (typeof version == "function" && version.length == 0) { + var v = version(); + if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) + return true; + } + } catch (_) { + } + return false; + }(); + function inherit(cls, sup) { + cls.prototype.constructor = cls; + cls.prototype["$is" + cls.name] = cls; + if (sup != null) { + if (supportsDirectProtoAccess) { + Object.setPrototypeOf(cls.prototype, sup.prototype); + return; + } + var clsPrototype = Object.create(sup.prototype); + copyProperties(cls.prototype, clsPrototype); + cls.prototype = clsPrototype; + } + } + function inheritMany(sup, classes) { + for (var i = 0; i < classes.length; i++) + inherit(classes[i], sup); + } + function mixinEasy(cls, mixin) { + mixinPropertiesEasy(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function mixinHard(cls, mixin) { + mixinPropertiesHard(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function lazyOld(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + holder[getterName] = function() { + A.throwCyclicInit(name); + }; + var result; + var sentinelInProgress = initializer; + try { + if (holder[name] === uninitializedSentinel) { + result = holder[name] = sentinelInProgress; + result = holder[name] = initializer(); + } else + result = holder[name]; + } finally { + if (result === sentinelInProgress) + holder[name] = null; + holder[getterName] = function() { + return this[name]; + }; + } + return result; + }; + } + function lazy(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) + holder[name] = initializer(); + holder[getterName] = function() { + return this[name]; + }; + return holder[name]; + }; + } + function lazyFinal(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + var value = initializer(); + if (holder[name] !== uninitializedSentinel) + A.throwLateFieldADI(name); + holder[name] = value; + } + var finalValue = holder[name]; + holder[getterName] = function() { + return finalValue; + }; + return finalValue; + }; + } + function makeConstList(list) { + list.immutable$list = Array; + list.fixed$length = Array; + return list; + } + function convertToFastObject(properties) { + function t() { + } + t.prototype = properties; + new t(); + return properties; + } + function convertAllToFastObject(arrayOfObjects) { + for (var i = 0; i < arrayOfObjects.length; ++i) + convertToFastObject(arrayOfObjects[i]); + } + var functionCounter = 0; + function instanceTearOffGetter(isIntercepted, parameters) { + var cache = null; + return isIntercepted ? function(receiver) { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(receiver, this); + } : function() { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(this, null); + }; + } + function staticTearOffGetter(parameters) { + var cache = null; + return function() { + if (cache === null) + cache = A.closureFromTearOff(parameters).prototype; + return cache; + }; + } + var typesOffset = 0; + function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + if (typeof funType == "number") + funType += typesOffset; + return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess}; + } + function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false); + var getterFunction = staticTearOffGetter(parameters); + holder[getterName] = getterFunction; + } + function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + isIntercepted = !!isIntercepted; + var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess); + var getterFunction = instanceTearOffGetter(isIntercepted, parameters); + prototype[getterName] = getterFunction; + } + function setOrUpdateInterceptorsByTag(newTags) { + var tags = init.interceptorsByTag; + if (!tags) { + init.interceptorsByTag = newTags; + return; + } + copyProperties(newTags, tags); + } + function setOrUpdateLeafTags(newTags) { + var tags = init.leafTags; + if (!tags) { + init.leafTags = newTags; + return; + } + copyProperties(newTags, tags); + } + function updateTypes(newTypes) { + var types = init.types; + var length = types.length; + types.push.apply(types, newTypes); + return length; + } + function updateHolder(holder, newHolder) { + copyProperties(newHolder, holder); + return holder; + } + var hunkHelpers = function() { + var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false); + }; + }, + mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); + }; + }; + return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; + }(); + function initializeDeferredHunk(hunk) { + typesOffset = init.types.length; + hunk(hunkHelpers, init, holders, $); + } + var A = {JS_CONST: function JS_CONST() { + }, + CastIterable_CastIterable(source, $S, $T) { + if ($S._eval$1("EfficientLengthIterable<0>")._is(source)) + return new A._EfficientLengthCastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("_EfficientLengthCastIterable<1,2>")); + return new A.CastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastIterable<1,2>")); + }, + LateError$fieldADI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has been assigned during initialization."); + }, + LateError$fieldNI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has not been initialized."); + }, + LateError$fieldAI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has already been initialized."); + }, + hexDigitValue(char) { + var digit, letter; + A.assertHelper(char <= 65535); + digit = char ^ 48; + if (digit <= 9) + return digit; + letter = char | 32; + if (97 <= letter && letter <= 102) + return letter - 87; + return -1; + }, + SystemHash_combine(hash, value) { + hash = hash + value & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + return hash ^ hash >>> 6; + }, + SystemHash_finish(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + checkNotNullable(value, $name, $T) { + return value; + }, + isToStringVisiting(object) { + var t1, i; + for (t1 = $.toStringVisiting.length, i = 0; i < t1; ++i) + if (object === $.toStringVisiting[i]) + return true; + return false; + }, + SubListIterable$(_iterable, _start, _endOrLength, $E) { + A.RangeError_checkNotNegative(_start, "start"); + if (_endOrLength != null) { + A.RangeError_checkNotNegative(_endOrLength, "end"); + if (_start > _endOrLength) + A.throwExpression(A.RangeError$range(_start, 0, _endOrLength, "start", null)); + } + return new A.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>")); + }, + MappedIterable_MappedIterable(iterable, $function, $S, $T) { + if (type$.EfficientLengthIterable_dynamic._is(iterable)) + return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); + return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>")); + }, + SkipIterable_SkipIterable(iterable, count, $E) { + var _s5_ = "count"; + if (type$.EfficientLengthIterable_dynamic._is(iterable)) { + A.ArgumentError_checkNotNull(count, _s5_, type$.int); + A.RangeError_checkNotNegative(count, _s5_); + return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>")); + } + A.ArgumentError_checkNotNull(count, _s5_, type$.int); + A.RangeError_checkNotNegative(count, _s5_); + return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>")); + }, + IterableElementError_noElement() { + return new A.StateError("No element"); + }, + IterableElementError_tooFew() { + return new A.StateError("Too few elements"); + }, + Sort_sort(a, compare, $E) { + A.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare, $E); + }, + Sort__doSort(a, left, right, compare, $E) { + if (right - left <= 32) + A.Sort__insertionSort(a, left, right, compare, $E); + else + A.Sort__dualPivotQuicksort(a, left, right, compare, $E); + }, + Sort__insertionSort(a, left, right, compare, $E) { + var i, t1, el, j, t2, j0; + for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) { + el = t1.$index(a, i); + j = i; + while (true) { + if (j > left) { + t2 = compare.call$2(t1.$index(a, j - 1), el); + if (typeof t2 !== "number") + return t2.$gt(); + t2 = t2 > 0; + } else + t2 = false; + if (!t2) + break; + j0 = j - 1; + t1.$indexSet(a, j, t1.$index(a, j0)); + j = j0; + } + t1.$indexSet(a, j, el); + } + }, + Sort__dualPivotQuicksort(a, left, right, compare, $E) { + var sixth, index1, index5, index3, index2, index4, el1, el2, el3, el4, el5, t2, t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, + t1 = right - left; + A.assertHelper(t1 > 32); + sixth = B.JSInt_methods._tdivFast$1(t1 + 1, 6); + index1 = left + sixth; + index5 = right - sixth; + index3 = B.JSInt_methods._tdivFast$1(left + right, 2); + index2 = index3 - sixth; + index4 = index3 + sixth; + t1 = J.getInterceptor$asx(a); + el1 = t1.$index(a, index1); + el2 = t1.$index(a, index2); + el3 = t1.$index(a, index3); + el4 = t1.$index(a, index4); + el5 = t1.$index(a, index5); + t2 = compare.call$2(el1, el2); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el2; + el2 = el1; + el1 = t0; + } + t2 = compare.call$2(el4, el5); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el5; + el5 = el4; + el4 = t0; + } + t2 = compare.call$2(el1, el3); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el3; + el3 = el1; + el1 = t0; + } + t2 = compare.call$2(el2, el3); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el3; + el3 = el2; + el2 = t0; + } + t2 = compare.call$2(el1, el4); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el4; + el4 = el1; + el1 = t0; + } + t2 = compare.call$2(el3, el4); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el4; + el4 = el3; + el3 = t0; + } + t2 = compare.call$2(el2, el5); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el5; + el5 = el2; + el2 = t0; + } + t2 = compare.call$2(el2, el3); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el3; + el3 = el2; + el2 = t0; + } + t2 = compare.call$2(el4, el5); + if (typeof t2 !== "number") + return t2.$gt(); + if (t2 > 0) { + t0 = el5; + el5 = el4; + el4 = t0; + } + t1.$indexSet(a, index1, el1); + t1.$indexSet(a, index3, el3); + t1.$indexSet(a, index5, el5); + t1.$indexSet(a, index2, t1.$index(a, left)); + t1.$indexSet(a, index4, t1.$index(a, right)); + less = left + 1; + great = right - 1; + if (J.$eq$(compare.call$2(el2, el4), 0)) { + for (k = less; k <= great; ++k) { + ak = t1.$index(a, k); + comp = compare.call$2(ak, el2); + if (comp === 0) + continue; + if (comp < 0) { + if (k !== less) { + t1.$indexSet(a, k, t1.$index(a, less)); + t1.$indexSet(a, less, ak); + } + ++less; + } else + for (; true;) { + comp = compare.call$2(t1.$index(a, great), el2); + if (comp > 0) { + --great; + continue; + } else { + great0 = great - 1; + if (comp < 0) { + t1.$indexSet(a, k, t1.$index(a, less)); + less0 = less + 1; + t1.$indexSet(a, less, t1.$index(a, great)); + t1.$indexSet(a, great, ak); + great = great0; + less = less0; + break; + } else { + t1.$indexSet(a, k, t1.$index(a, great)); + t1.$indexSet(a, great, ak); + great = great0; + break; + } + } + } + } + pivots_are_equal = true; + } else { + for (k = less; k <= great; ++k) { + ak = t1.$index(a, k); + if (compare.call$2(ak, el2) < 0) { + if (k !== less) { + t1.$indexSet(a, k, t1.$index(a, less)); + t1.$indexSet(a, less, ak); + } + ++less; + } else if (compare.call$2(ak, el4) > 0) + for (; true;) + if (compare.call$2(t1.$index(a, great), el4) > 0) { + --great; + if (great < k) + break; + continue; + } else { + great0 = great - 1; + if (compare.call$2(t1.$index(a, great), el2) < 0) { + t1.$indexSet(a, k, t1.$index(a, less)); + less0 = less + 1; + t1.$indexSet(a, less, t1.$index(a, great)); + t1.$indexSet(a, great, ak); + less = less0; + } else { + t1.$indexSet(a, k, t1.$index(a, great)); + t1.$indexSet(a, great, ak); + } + great = great0; + break; + } + } + pivots_are_equal = false; + } + t2 = less - 1; + t1.$indexSet(a, left, t1.$index(a, t2)); + t1.$indexSet(a, t2, el2); + t2 = great + 1; + t1.$indexSet(a, right, t1.$index(a, t2)); + t1.$indexSet(a, t2, el4); + A.Sort__doSort(a, left, less - 2, compare, $E); + A.Sort__doSort(a, great + 2, right, compare, $E); + if (pivots_are_equal) + return; + if (less < index1 && great > index5) { + for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);) + ++less; + for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);) + --great; + for (k = less; k <= great; ++k) { + ak = t1.$index(a, k); + if (compare.call$2(ak, el2) === 0) { + if (k !== less) { + t1.$indexSet(a, k, t1.$index(a, less)); + t1.$indexSet(a, less, ak); + } + ++less; + } else if (compare.call$2(ak, el4) === 0) + for (; true;) + if (compare.call$2(t1.$index(a, great), el4) === 0) { + --great; + if (great < k) + break; + continue; + } else { + great0 = great - 1; + if (compare.call$2(t1.$index(a, great), el2) < 0) { + t1.$indexSet(a, k, t1.$index(a, less)); + less0 = less + 1; + t1.$indexSet(a, less, t1.$index(a, great)); + t1.$indexSet(a, great, ak); + less = less0; + } else { + t1.$indexSet(a, k, t1.$index(a, great)); + t1.$indexSet(a, great, ak); + } + great = great0; + break; + } + } + A.Sort__doSort(a, less, great, compare, $E); + } else + A.Sort__doSort(a, less, great, compare, $E); + }, + _CastIterableBase: function _CastIterableBase() { + }, + CastIterator: function CastIterator(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + CastIterable: function CastIterable(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + _EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + _CastListBase: function _CastListBase() { + }, + CastList: function CastList(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + LateError: function LateError(t0) { + this._message = t0; + }, + CodeUnits: function CodeUnits(t0) { + this.__internal$_string = t0; + }, + nullFuture_closure: function nullFuture_closure() { + }, + SentinelValue: function SentinelValue() { + }, + EfficientLengthIterable: function EfficientLengthIterable() { + }, + ListIterable: function ListIterable() { + }, + SubListIterable: function SubListIterable(t0, t1, t2, t3) { + var _ = this; + _.__internal$_iterable = t0; + _._start = t1; + _._endOrLength = t2; + _.$ti = t3; + }, + ListIterator: function ListIterator(t0, t1, t2) { + var _ = this; + _.__internal$_iterable = t0; + _.__internal$_length = t1; + _.__internal$_index = 0; + _.__internal$_current = null; + _.$ti = t2; + }, + MappedIterable: function MappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + MappedIterator: function MappedIterator(t0, t1, t2) { + var _ = this; + _.__internal$_current = null; + _._iterator = t0; + _._f = t1; + _.$ti = t2; + }, + MappedListIterable: function MappedListIterable(t0, t1, t2) { + this.__internal$_source = t0; + this._f = t1; + this.$ti = t2; + }, + WhereIterable: function WhereIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + WhereIterator: function WhereIterator(t0, t1, t2) { + this._iterator = t0; + this._f = t1; + this.$ti = t2; + }, + SkipIterable: function SkipIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._skipCount = t1; + this.$ti = t2; + }, + EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._skipCount = t1; + this.$ti = t2; + }, + SkipIterator: function SkipIterator(t0, t1, t2) { + this._iterator = t0; + this._skipCount = t1; + this.$ti = t2; + }, + EmptyIterable: function EmptyIterable(t0) { + this.$ti = t0; + }, + EmptyIterator: function EmptyIterator(t0) { + this.$ti = t0; + }, + WhereTypeIterable: function WhereTypeIterable(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + WhereTypeIterator: function WhereTypeIterator(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + FixedLengthListMixin: function FixedLengthListMixin() { + }, + UnmodifiableListMixin: function UnmodifiableListMixin() { + }, + UnmodifiableListBase: function UnmodifiableListBase() { + }, + ReversedListIterable: function ReversedListIterable(t0, t1) { + this.__internal$_source = t0; + this.$ti = t1; + }, + Symbol: function Symbol(t0) { + this.__internal$_name = t0; + }, + __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() { + }, + unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + isJsIndexable(object, record) { + var result; + if (record != null) { + result = record.x; + if (result != null) + return result; + } + return type$.JavaScriptIndexingBehavior_dynamic._is(object); + }, + S(value) { + var result; + 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"; + result = J.toString$0$(value); + return result; + }, + Primitives_objectHashCode(object) { + var hash, + property = $.Primitives__identityHashCodeProperty; + if (property == null) + property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode"); + hash = object[property]; + if (hash == null) { + hash = Math.random() * 0x3fffffff | 0; + object[property] = hash; + } + return hash; + }, + Primitives_parseInt(source, radix) { + var decimalMatch, maxCharCode, digitsPart, t1, i, _null = null, + match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source); + if (match == null) + return _null; + if (3 >= match.length) + return A.ioore(match, 3); + decimalMatch = match[3]; + if (radix == null) { + if (decimalMatch != null) + return parseInt(source, 10); + if (match[2] != null) + return parseInt(source, 16); + return _null; + } + if (radix < 2 || radix > 36) + throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", _null)); + if (radix === 10 && decimalMatch != null) + return parseInt(source, 10); + if (radix < 10 || decimalMatch == null) { + maxCharCode = radix <= 10 ? 47 + radix : 86 + radix; + A.assertHelper(typeof match[1] == "string"); + digitsPart = match[1]; + for (t1 = digitsPart.length, i = 0; i < t1; ++i) + if ((B.JSString_methods._codeUnitAt$1(digitsPart, i) | 32) > maxCharCode) + return _null; + } + return parseInt(source, radix); + }, + Primitives_objectTypeName(object) { + return A.Primitives__objectTypeNameNewRti(object); + }, + Primitives__objectTypeNameNewRti(object) { + var interceptor, dispatchName, $constructor, constructorName; + if (object instanceof A.Object) + return A._rtiToString(A.instanceType(object), null); + interceptor = J.getInterceptor$(object); + if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) { + dispatchName = B.C_JS_CONST(object); + if (dispatchName !== "Object" && dispatchName !== "") + return dispatchName; + $constructor = object.constructor; + if (typeof $constructor == "function") { + constructorName = $constructor.name; + if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "") + return constructorName; + } + } + return A._rtiToString(A.instanceType(object), null); + }, + Primitives_safeToString(object) { + if (typeof object == "number" || A._isBool(object)) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + if (object instanceof A.Closure) + return object.toString$0(0); + return "Instance of '" + A.Primitives_objectTypeName(object) + "'"; + }, + Primitives_currentUri() { + if (!!self.location) + return self.location.href; + return null; + }, + Primitives__fromCharCodeApply(array) { + var 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(codePoints) { + var t1, _i, i, + a = A._setArrayType([], type$.JSArray_int); + for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.length === t1 || (0, A.throwConcurrentModificationError)(codePoints), ++_i) { + i = codePoints[_i]; + if (!A._isInt(i)) + throw A.wrapException(A.argumentErrorValue(i)); + if (i <= 65535) + B.JSArray_methods.add$1(a, i); + else if (i <= 1114111) { + B.JSArray_methods.add$1(a, 55296 + (B.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023)); + B.JSArray_methods.add$1(a, 56320 + (i & 1023)); + } else + throw A.wrapException(A.argumentErrorValue(i)); + } + return A.Primitives__fromCharCodeApply(a); + }, + Primitives_stringFromCharCodes(charCodes) { + var t1, _i, i; + for (t1 = charCodes.length, _i = 0; _i < t1; ++_i) { + i = charCodes[_i]; + if (!A._isInt(i)) + throw A.wrapException(A.argumentErrorValue(i)); + if (i < 0) + throw A.wrapException(A.argumentErrorValue(i)); + if (i > 65535) + return A.Primitives_stringFromCodePoints(charCodes); + } + return A.Primitives__fromCharCodeApply(charCodes); + }, + Primitives_stringFromNativeUint8List(charCodes, start, end) { + var i, result, i0, chunkEnd; + if (end <= 500 && start === 0 && end === charCodes.length) + return String.fromCharCode.apply(null, charCodes); + for (i = start, result = ""; i < end; i = i0) { + i0 = i + 500; + chunkEnd = i0 < end ? i0 : end; + result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); + } + return result; + }, + Primitives_stringFromCharCode(charCode) { + var bits; + if (0 <= charCode) { + if (charCode <= 65535) + return String.fromCharCode(charCode); + if (charCode <= 1114111) { + bits = charCode - 65536; + return String.fromCharCode((B.JSInt_methods._shrOtherPositive$1(bits, 10) | 55296) >>> 0, bits & 1023 | 56320); + } + } + throw A.wrapException(A.RangeError$range(charCode, 0, 1114111, null, null)); + }, + Primitives_lazyAsJsDate(receiver) { + if (receiver.date === void 0) + receiver.date = new Date(receiver._core$_value); + return receiver.date; + }, + Primitives_getYear(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : A.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; + }, + Primitives_getMonth(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : A.Primitives_lazyAsJsDate(receiver).getMonth() + 1; + }, + Primitives_getDay(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : A.Primitives_lazyAsJsDate(receiver).getDate() + 0; + }, + Primitives_getHours(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : A.Primitives_lazyAsJsDate(receiver).getHours() + 0; + }, + Primitives_getMinutes(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : A.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; + }, + Primitives_getSeconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; + }, + Primitives_getMilliseconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; + }, + Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) { + var $arguments, namedArgumentList, t1 = {}; + t1.argumentCount = 0; + $arguments = []; + namedArgumentList = []; + t1.argumentCount = positionalArguments.length; + B.JSArray_methods.addAll$1($arguments, positionalArguments); + t1.names = ""; + if (namedArguments != null && namedArguments._length !== 0) + namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); + return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0)); + }, + Primitives_applyFunction($function, positionalArguments, namedArguments) { + var t1, argumentCount, jsStub; + if (Array.isArray(positionalArguments)) + t1 = namedArguments == null || namedArguments._length === 0; + else + t1 = false; + if (t1) { + argumentCount = positionalArguments.length; + if (argumentCount === 0) { + if (!!$function.call$0) + return $function.call$0(); + } else if (argumentCount === 1) { + if (!!$function.call$1) + return $function.call$1(positionalArguments[0]); + } else if (argumentCount === 2) { + if (!!$function.call$2) + return $function.call$2(positionalArguments[0], positionalArguments[1]); + } else if (argumentCount === 3) { + if (!!$function.call$3) + return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]); + } else if (argumentCount === 4) { + if (!!$function.call$4) + return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]); + } else if (argumentCount === 5) + if (!!$function.call$5) + return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]); + jsStub = $function["call" + "$" + argumentCount]; + if (jsStub != null) + return jsStub.apply($function, positionalArguments); + } + return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments); + }, + Primitives__generalApplyFunction($function, positionalArguments, namedArguments) { + var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key, + $arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic), + argumentCount = $arguments.length, + requiredParameterCount = $function.$requiredArgCount; + if (argumentCount < requiredParameterCount) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + defaultValuesClosure = $function.$defaultValues; + t1 = defaultValuesClosure == null; + defaultValues = !t1 ? defaultValuesClosure() : null; + interceptor = J.getInterceptor$($function); + jsFunction = interceptor["call*"]; + if (typeof jsFunction == "string") + jsFunction = interceptor[jsFunction]; + if (t1) { + if (namedArguments != null && namedArguments._length !== 0) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if (argumentCount === requiredParameterCount) + return jsFunction.apply($function, $arguments); + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + if (Array.isArray(defaultValues)) { + if (namedArguments != null && namedArguments._length !== 0) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + maxArguments = requiredParameterCount + defaultValues.length; + if (argumentCount > maxArguments) + return A.Primitives_functionNoSuchMethod($function, $arguments, null); + if (argumentCount < maxArguments) { + missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount); + if ($arguments === positionalArguments) + $arguments = A.List_List$of($arguments, true, type$.dynamic); + B.JSArray_methods.addAll$1($arguments, missingDefaults); + } + return jsFunction.apply($function, $arguments); + } else { + if (argumentCount > requiredParameterCount) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if ($arguments === positionalArguments) + $arguments = A.List_List$of($arguments, true, type$.dynamic); + keys = Object.keys(defaultValues); + if (namedArguments == null) + for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { + defaultValue = defaultValues[A._asString(keys[_i])]; + if (B.C__Required === defaultValue) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + B.JSArray_methods.add$1($arguments, defaultValue); + } + else { + for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { + key = A._asString(keys[_i]); + if (namedArguments.containsKey$1(0, key)) { + ++used; + B.JSArray_methods.add$1($arguments, namedArguments.$index(0, key)); + } else { + defaultValue = defaultValues[key]; + if (B.C__Required === defaultValue) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + B.JSArray_methods.add$1($arguments, defaultValue); + } + } + if (used !== namedArguments._length) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + return jsFunction.apply($function, $arguments); + } + }, + iae(argument) { + throw A.wrapException(A.argumentErrorValue(argument)); + }, + ioore(receiver, index) { + if (receiver == null) + J.get$length$asx(receiver); + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + }, + diagnoseIndexError(indexable, index) { + var $length, _s5_ = "index"; + if (!A._isInt(index)) + return new A.ArgumentError(true, index, _s5_, null); + $length = A._asInt(J.get$length$asx(indexable)); + if (index < 0 || index >= $length) + return A.IndexError$withLength(index, $length, indexable, null, _s5_); + return A.RangeError$value(index, _s5_); + }, + diagnoseRangeError(start, end, $length) { + if (start > $length) + return A.RangeError$range(start, 0, $length, "start", null); + if (end != null) + if (end < start || end > $length) + return A.RangeError$range(end, start, $length, "end", null); + return new A.ArgumentError(true, end, "end", null); + }, + argumentErrorValue(object) { + return new A.ArgumentError(true, object, null, null); + }, + wrapException(ex) { + var wrapper, t1; + if (ex == null) + ex = new A.TypeError(); + wrapper = new Error(); + wrapper.dartException = ex; + t1 = A.toStringWrapper; + if ("defineProperty" in Object) { + Object.defineProperty(wrapper, "message", {get: t1}); + wrapper.name = ""; + } else + wrapper.toString = t1; + return wrapper; + }, + toStringWrapper() { + return J.toString$0$(this.dartException); + }, + throwExpression(ex) { + throw A.wrapException(ex); + }, + throwConcurrentModificationError(collection) { + throw A.wrapException(A.ConcurrentModificationError$(collection)); + }, + TypeErrorDecoder_extractPattern(message) { + var match, $arguments, argumentsExpr, expr, method, receiver; + message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$")); + match = message.match(/\\\$[a-zA-Z]+\\\$/g); + if (match == null) + match = A._setArrayType([], type$.JSArray_String); + $arguments = match.indexOf("\\$arguments\\$"); + argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); + expr = match.indexOf("\\$expr\\$"); + method = match.indexOf("\\$method\\$"); + receiver = match.indexOf("\\$receiver\\$"); + return new A.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); + }, + TypeErrorDecoder_provokeCallErrorOn(expression) { + return function($expr$) { + var $argumentsExpr$ = "$arguments$"; + try { + $expr$.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }(expression); + }, + TypeErrorDecoder_provokePropertyErrorOn(expression) { + return function($expr$) { + try { + $expr$.$method$; + } catch (e) { + return e.message; + } + }(expression); + }, + JsNoSuchMethodError$(_message, match) { + var t1 = match == null, + t2 = t1 ? null : match.method; + return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); + }, + unwrapException(ex) { + var t1; + if (ex == null) + return new A.NullThrownFromJavaScriptException(ex); + if (ex instanceof A.ExceptionAndStackTrace) { + t1 = ex.dartException; + return A.saveStackTrace(ex, t1 == null ? type$.Object._as(t1) : t1); + } + if (typeof ex !== "object") + return ex; + if ("dartException" in ex) + return A.saveStackTrace(ex, ex.dartException); + return A._unwrapNonDartException(ex); + }, + saveStackTrace(ex, error) { + if (type$.Error._is(error)) + if (error.$thrownJsError == null) + error.$thrownJsError = ex; + return error; + }, + _unwrapNonDartException(ex) { + var message, number, ieErrorCode, t1, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, _null = null; + if (!("message" in ex)) + return ex; + message = ex.message; + if ("number" in ex && typeof ex.number == "number") { + number = ex.number; + ieErrorCode = number & 65535; + if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) + switch (ieErrorCode) { + case 438: + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", _null)); + case 445: + case 5007: + t1 = A.S(message); + return A.saveStackTrace(ex, new A.NullError(t1 + " (Error " + ieErrorCode + ")", _null)); + } + } + if (ex instanceof TypeError) { + nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); + notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); + nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); + nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); + undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); + undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); + nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); + $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); + undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); + undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); + match = nsme.matchTypeError$1(message); + if (match != null) + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + else { + match = notClosure.matchTypeError$1(message); + if (match != null) { + match.method = "call"; + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + } else { + match = nullCall.matchTypeError$1(message); + if (match == null) { + match = nullLiteralCall.matchTypeError$1(message); + if (match == null) { + match = undefCall.matchTypeError$1(message); + if (match == null) { + match = undefLiteralCall.matchTypeError$1(message); + if (match == null) { + match = nullProperty.matchTypeError$1(message); + if (match == null) { + match = nullLiteralCall.matchTypeError$1(message); + if (match == null) { + match = undefProperty.matchTypeError$1(message); + if (match == null) { + match = undefLiteralProperty.matchTypeError$1(message); + t1 = match != null; + } else + t1 = true; + } else + t1 = true; + } else + t1 = true; + } else + t1 = true; + } else + t1 = true; + } else + t1 = true; + } else + t1 = true; + if (t1) { + A._asString(message); + return A.saveStackTrace(ex, new A.NullError(message, match == null ? _null : match.method)); + } + } + } + return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : "")); + } + if (ex instanceof RangeError) { + if (typeof message == "string" && message.indexOf("call stack") !== -1) + return new A.StackOverflowError(); + message = function(ex) { + try { + return String(ex); + } catch (e) { + } + return null; + }(ex); + return A.saveStackTrace(ex, new A.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); + } + if (typeof InternalError == "function" && ex instanceof InternalError) + if (typeof message == "string" && message === "too much recursion") + return new A.StackOverflowError(); + return ex; + }, + getTraceFromException(exception) { + var trace; + if (exception instanceof A.ExceptionAndStackTrace) + return exception.stackTrace; + if (exception == null) + return new A._StackTrace(exception); + trace = exception.$cachedTrace; + if (trace != null) + return trace; + return exception.$cachedTrace = new A._StackTrace(exception); + }, + objectHashCode(object) { + if (object == null || typeof object != "object") + return J.get$hashCode$(object); + else + return A.Primitives_objectHashCode(object); + }, + fillLiteralMap(keyValuePairs, result) { + var index, index0, index1, + $length = keyValuePairs.length; + for (index = 0; index < $length; index = index1) { + index0 = index + 1; + index1 = index0 + 1; + result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); + } + return result; + }, + invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) { + type$.Function._as(closure); + switch (A._asInt(numberOfArguments)) { + case 0: + return closure.call$0(); + case 1: + return closure.call$1(arg1); + case 2: + return closure.call$2(arg1, arg2); + case 3: + return closure.call$3(arg1, arg2, arg3); + case 4: + return closure.call$4(arg1, arg2, arg3, arg4); + } + throw A.wrapException(A.Exception_Exception("Unsupported number of arguments for wrapped closure")); + }, + convertDartClosureToJS(closure, arity) { + var $function; + if (closure == null) + return null; + $function = closure.$identity; + if (!!$function) + return $function; + $function = function(closure, arity, invoke) { + return function(a1, a2, a3, a4) { + return invoke(closure, arity, a1, a2, a3, a4); + }; + }(closure, arity, A.invokeClosure); + closure.$identity = $function; + return $function; + }, + Closure_fromTearOff(parameters) { + var $name, callName, $function, t1, $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName, + container = parameters.co, + isStatic = parameters.iS, + isIntercepted = parameters.iI, + needsDirectAccess = parameters.nDA, + applyTrampolineIndex = parameters.aI, + funsOrNames = parameters.fs, + callNames = parameters.cs; + A.assertHelper(typeof funsOrNames[0] == "string"); + $name = funsOrNames[0]; + callName = callNames[0]; + $function = container[$name]; + t1 = parameters.fT; + t1.toString; + $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype); + $prototype.$initialize = $prototype.constructor; + if (isStatic) + $constructor = function static_tear_off() { + this.$initialize(); + }; + else + $constructor = function tear_off(a, b) { + this.$initialize(a, b); + }; + $prototype.constructor = $constructor; + $constructor.prototype = $prototype; + $prototype.$_name = $name; + $prototype.$_target = $function; + t2 = !isStatic; + if (t2) + trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess); + else { + $prototype.$static_name = $name; + trampoline = $function; + } + $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted); + $prototype[callName] = trampoline; + for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { + stub = funsOrNames[i]; + if (typeof stub == "string") { + stub0 = container[stub]; + stubName = stub; + stub = stub0; + } else + stubName = ""; + stubCallName = callNames[i]; + if (stubCallName != null) { + if (t2) + stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess); + $prototype[stubCallName] = stub; + } + if (i === applyTrampolineIndex) + applyTrampoline = stub; + } + $prototype["call*"] = applyTrampoline; + $prototype.$requiredArgCount = parameters.rC; + $prototype.$defaultValues = parameters.dV; + return $constructor; + }, + Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) { + if (typeof functionType == "number") + return functionType; + if (typeof functionType == "string") { + if (isStatic) + throw A.wrapException("Cannot compute signature for static tearoff."); + return function(recipe, evalOnReceiver) { + return function() { + return evalOnReceiver(this, recipe); + }; + }(functionType, A.BoundClosure_evalRecipe); + } + throw A.wrapException("Error in functionType of tearoff"); + }, + Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + return function(entry, receiverOf) { + return function() { + return receiverOf(this)[entry](); + }; + }(stubName, getReceiver); + case 1: + return function(entry, receiverOf) { + return function(a) { + return receiverOf(this)[entry](a); + }; + }(stubName, getReceiver); + case 2: + return function(entry, receiverOf) { + return function(a, b) { + return receiverOf(this)[entry](a, b); + }; + }(stubName, getReceiver); + case 3: + return function(entry, receiverOf) { + return function(a, b, c) { + return receiverOf(this)[entry](a, b, c); + }; + }(stubName, getReceiver); + case 4: + return function(entry, receiverOf) { + return function(a, b, c, d) { + return receiverOf(this)[entry](a, b, c, d); + }; + }(stubName, getReceiver); + case 5: + return function(entry, receiverOf) { + return function(a, b, c, d, e) { + return receiverOf(this)[entry](a, b, c, d, e); + }; + }(stubName, getReceiver); + default: + return function(f, receiverOf) { + return function() { + return f.apply(receiverOf(this), arguments); + }; + }($function, getReceiver); + } + }, + Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) { + var arity, t1; + if (isIntercepted) + return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess); + arity = $function.length; + t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function); + return t1; + }, + Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf, + getInterceptor = A.BoundClosure_interceptorOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments.")); + case 1: + return function(entry, interceptorOf, receiverOf) { + return function() { + return interceptorOf(this)[entry](receiverOf(this)); + }; + }(stubName, getInterceptor, getReceiver); + case 2: + return function(entry, interceptorOf, receiverOf) { + return function(a) { + return interceptorOf(this)[entry](receiverOf(this), a); + }; + }(stubName, getInterceptor, getReceiver); + case 3: + return function(entry, interceptorOf, receiverOf) { + return function(a, b) { + return interceptorOf(this)[entry](receiverOf(this), a, b); + }; + }(stubName, getInterceptor, getReceiver); + case 4: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c); + }; + }(stubName, getInterceptor, getReceiver); + case 5: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d); + }; + }(stubName, getInterceptor, getReceiver); + case 6: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d, e) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e); + }; + }(stubName, getInterceptor, getReceiver); + default: + return function(f, interceptorOf, receiverOf) { + return function() { + var a = [receiverOf(this)]; + Array.prototype.push.apply(a, arguments); + return f.apply(interceptorOf(this), a); + }; + }($function, getInterceptor, getReceiver); + } + }, + Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) { + var arity, t1; + if ($.BoundClosure__interceptorFieldNameCache == null) + $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor"); + if ($.BoundClosure__receiverFieldNameCache == null) + $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver"); + arity = $function.length; + t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); + return t1; + }, + closureFromTearOff(parameters) { + return A.Closure_fromTearOff(parameters); + }, + BoundClosure_evalRecipe(closure, recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe); + }, + BoundClosure_receiverOf(closure) { + return closure._receiver; + }, + BoundClosure_interceptorOf(closure) { + return closure._interceptor; + }, + BoundClosure__computeFieldNamed(fieldName) { + var t1, i, $name, + template = new A.BoundClosure("receiver", "interceptor"), + names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object); + for (t1 = names.length, i = 0; i < t1; ++i) { + $name = names[i]; + if (template[$name] === fieldName) + return $name; + } + throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); + }, + boolConversionCheck(value) { + if (value == null) + A.assertThrow("boolean expression must not be null"); + return value; + }, + assertTest(condition) { + if (true === condition) + return false; + if (false === condition) + return true; + A._asBool(condition); + return !condition; + }, + assertThrow(message) { + throw A.wrapException(new A._AssertionError(message)); + }, + assertHelper(condition) { + if (A.assertTest(condition)) + throw A.wrapException(A.AssertionError$(null)); + }, + throwCyclicInit(staticName) { + throw A.wrapException(new A._CyclicInitializationError(staticName)); + }, + getIsolateAffinityTag($name) { + return init.getIsolateTag($name); + }, + assertInteropArgs(args) { + if (A.assertTest(B.JSArray_methods.every$1(args, new A.assertInteropArgs_closure()))) + A.assertThrow(string$.Dart_f); + }, + wrapZoneUnaryCallback(callback, $T) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return callback; + return t1.bindUnaryCallbackGuarded$1$1(callback, $T); + }, + defineProperty(obj, property, value) { + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); + }, + lookupAndCacheInterceptor(obj) { + var tag, record, interceptor, interceptorClass, altTag, mark, t1; + A.assertHelper(!(obj instanceof A.Object)); + tag = A._asString($.getTagFunction.call$1(obj)); + record = $.dispatchRecordsForInstanceTags[tag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[tag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[tag]; + if (interceptorClass == null) { + altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag)); + if (altTag != null) { + record = $.dispatchRecordsForInstanceTags[altTag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[altTag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[altTag]; + tag = altTag; + } + } + if (interceptorClass == null) + return null; + interceptor = interceptorClass.prototype; + mark = tag[0]; + if (mark === "!") { + record = A.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 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } + if (mark === "+") + return A.patchInteriorProto(obj, interceptor); + if (mark === "*") + throw A.wrapException(A.UnimplementedError$(tag)); + if (init.leafTags[tag] === true) { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } else + return A.patchInteriorProto(obj, interceptor); + }, + patchInteriorProto(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(interceptor) { + return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); + }, + makeDefaultDispatchRecord(tag, interceptorClass, proto) { + var interceptor = interceptorClass.prototype; + if (init.leafTags[tag] === true) + return A.makeLeafDispatchRecord(interceptor); + else + return J.makeDispatchRecord(interceptor, proto, null, null); + }, + initNativeDispatch() { + if (true === $.initNativeDispatchFlag) + return; + $.initNativeDispatchFlag = true; + A.initNativeDispatchContinue(); + }, + initNativeDispatchContinue() { + var map, tags, fun, i, tag, proto, record, interceptorClass; + $.dispatchRecordsForInstanceTags = Object.create(null); + $.interceptorsForUncacheableTags = Object.create(null); + A.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 = A.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() { + var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, + hooks = B.C_JS_CONST0(); + hooks = A.applyHooksTransformer(B.C_JS_CONST1, A.applyHooksTransformer(B.C_JS_CONST2, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST4, A.applyHooksTransformer(B.C_JS_CONST5, A.applyHooksTransformer(B.C_JS_CONST6(B.C_JS_CONST), hooks))))))); + if (typeof dartNativeDispatchHooksTransformer != "undefined") { + transformers = dartNativeDispatchHooksTransformer; + if (typeof transformers == "function") + transformers = [transformers]; + if (transformers.constructor == Array) + for (i = 0; i < transformers.length; ++i) { + transformer = transformers[i]; + if (typeof transformer == "function") + hooks = transformer(hooks) || hooks; + } + } + getTag = hooks.getTag; + getUnknownTag = hooks.getUnknownTag; + prototypeForTag = hooks.prototypeForTag; + $.getTagFunction = new A.initHooks_closure(getTag); + $.alternateTagFunction = new A.initHooks_closure0(getUnknownTag); + $.prototypeForTagFunction = new A.initHooks_closure1(prototypeForTag); + }, + applyHooksTransformer(transformer, hooks) { + return transformer(hooks) || hooks; + }, + createRecordTypePredicate(shape, fieldRtis) { + var argumentCount, + $length = fieldRtis.length, + $function = init.rttc["" + $length + ";" + shape]; + if ($function == null) + return null; + if ($length === 0) + return $function; + argumentCount = $function.length; + if ($length === argumentCount) + return $function.apply(null, fieldRtis); + A.assertHelper(argumentCount === 1); + return $function(fieldRtis); + }, + JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, global) { + var m = multiLine ? "m" : "", + i = caseSensitive ? "" : "i", + u = unicode ? "u" : "", + s = dotAll ? "s" : "", + g = global ? "g" : "", + regexp = function(source, modifiers) { + try { + return new RegExp(source, modifiers); + } catch (e) { + return e; + } + }(source, m + i + u + s + g); + if (regexp instanceof RegExp) + return regexp; + throw A.wrapException(A.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null)); + }, + _MatchImplementation$(pattern, _match) { + A.assertHelper(typeof _match.input == "string"); + A.assertHelper(A._isInt(_match.index)); + return new A._MatchImplementation(_match); + }, + stringContainsUnchecked(receiver, other, startIndex) { + var t1; + if (typeof other == "string") + return receiver.indexOf(other, startIndex) >= 0; + else if (other instanceof A.JSSyntaxRegExp) { + t1 = B.JSString_methods.substring$1(receiver, startIndex); + return other._nativeRegExp.test(t1); + } else { + t1 = J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)); + return !t1.get$isEmpty(t1); + } + }, + quoteStringForRegExp(string) { + if (/[[\]{}()*+?.\\^$|]/.test(string)) + return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); + return string; + }, + ConstantMapView: function ConstantMapView(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + ConstantMap: function ConstantMap() { + }, + ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) { + var _ = this; + _._length = t0; + _._jsObject = t1; + _.__js_helper$_keys = t2; + _.$ti = t3; + }, + ConstantStringMap_values_closure: function ConstantStringMap_values_closure(t0) { + this.$this = t0; + }, + _ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) { + this._map = t0; + this.$ti = t1; + }, + JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { + var _ = this; + _._memberName = t0; + _.__js_helper$_kind = t1; + _._arguments = t2; + _._namedArgumentNames = t3; + _._typeArgumentCount = t4; + }, + Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { + this._box_0 = t0; + this.namedArgumentList = t1; + this.$arguments = t2; + }, + TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._pattern = t0; + _._arguments = t1; + _._argumentsExpr = t2; + _._expr = t3; + _._method = t4; + _._receiver = t5; + }, + NullError: function NullError(t0, t1) { + this.__js_helper$_message = t0; + this._method = t1; + }, + JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { + this.__js_helper$_message = t0; + this._method = t1; + this._receiver = t2; + }, + UnknownJsTypeError: function UnknownJsTypeError(t0) { + this.__js_helper$_message = t0; + }, + NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { + this._irritant = t0; + }, + ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { + this.dartException = t0; + this.stackTrace = t1; + }, + _StackTrace: function _StackTrace(t0) { + this._exception = t0; + this._trace = null; + }, + Closure: function Closure() { + }, + Closure0Args: function Closure0Args() { + }, + Closure2Args: function Closure2Args() { + }, + TearOffClosure: function TearOffClosure() { + }, + StaticClosure: function StaticClosure() { + }, + BoundClosure: function BoundClosure(t0, t1) { + this._receiver = t0; + this._interceptor = t1; + }, + _CyclicInitializationError: function _CyclicInitializationError(t0) { + this.variableName = t0; + }, + RuntimeError: function RuntimeError(t0) { + this.message = t0; + }, + _AssertionError: function _AssertionError(t0) { + this.message = t0; + }, + _Required: function _Required() { + }, + assertInteropArgs_closure: function assertInteropArgs_closure() { + }, + JsLinkedHashMap: function JsLinkedHashMap(t0) { + var _ = this; + _._length = 0; + _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; + _._modifications = 0; + _.$ti = t0; + }, + JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) { + this.$this = t0; + }, + JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) { + this.$this = t0; + }, + LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { + var _ = this; + _.hashMapCellKey = t0; + _.hashMapCellValue = t1; + _._previous = _._next = null; + }, + LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) { + this._map = t0; + this.$ti = t1; + }, + LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._map = t0; + _._modifications = t1; + _.__js_helper$_current = _._cell = null; + _.$ti = t2; + }, + initHooks_closure: function initHooks_closure(t0) { + this.getTag = t0; + }, + initHooks_closure0: function initHooks_closure0(t0) { + this.getUnknownTag = t0; + }, + initHooks_closure1: function initHooks_closure1(t0) { + this.prototypeForTag = t0; + }, + JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) { + var _ = this; + _.pattern = t0; + _._nativeRegExp = t1; + _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; + }, + _MatchImplementation: function _MatchImplementation(t0) { + this._match = t0; + }, + _AllMatchesIterable: function _AllMatchesIterable(t0, t1, t2) { + this._re = t0; + this._string = t1; + this.__js_helper$_start = t2; + }, + _AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) { + var _ = this; + _._regExp = t0; + _._string = t1; + _._nextIndex = t2; + _.__js_helper$_current = null; + }, + StringMatch: function StringMatch(t0, t1) { + this.start = t0; + this.pattern = t1; + }, + _StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) { + this._input = t0; + this._pattern = t1; + this.__js_helper$_index = t2; + }, + _StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) { + var _ = this; + _._input = t0; + _._pattern = t1; + _.__js_helper$_index = t2; + _.__js_helper$_current = null; + }, + throwLateFieldNI(fieldName) { + return A.throwExpression(A.LateError$fieldNI(fieldName)); + }, + throwLateFieldAI(fieldName) { + return A.throwExpression(A.LateError$fieldAI(fieldName)); + }, + throwLateFieldADI(fieldName) { + return A.throwExpression(A.LateError$fieldADI(fieldName)); + }, + _Cell$named(_name) { + var t1 = new A._Cell(_name); + return t1._value = t1; + }, + _Cell: function _Cell(t0) { + this.__late_helper$_name = t0; + this._value = null; + }, + _checkLength($length) { + return $length; + }, + _checkViewArguments(buffer, offsetInBytes, $length) { + }, + _ensureNativeList(list) { + var t1, result, i; + if (type$.JSIndexable_dynamic._is(list)) + return list; + t1 = J.getInterceptor$asx(list); + result = A.List_List$filled(t1.get$length(list), null, false, type$.dynamic); + for (i = 0; i < t1.get$length(list); ++i) + B.JSArray_methods.$indexSet(result, i, t1.$index(list, i)); + return result; + }, + NativeInt8List__create1(arg) { + return new Int8Array(arg); + }, + NativeUint32List_NativeUint32List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4); + return new Uint32Array(buffer, offsetInBytes, $length); + }, + NativeUint8List_NativeUint8List($length) { + return new Uint8Array($length); + }, + NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length); + }, + _checkValidIndex(index, list, $length) { + if (index >>> 0 !== index || index >= $length) + throw A.wrapException(A.diagnoseIndexError(list, index)); + }, + _checkValidRange(start, end, $length) { + var t1; + if (!(start >>> 0 !== start)) + t1 = end >>> 0 !== end || start > end || end > $length; + else + t1 = true; + if (t1) + throw A.wrapException(A.diagnoseRangeError(start, end, $length)); + return end; + }, + NativeByteBuffer: function NativeByteBuffer() { + }, + NativeTypedData: function NativeTypedData() { + }, + NativeByteData: function NativeByteData() { + }, + NativeTypedArray: function NativeTypedArray() { + }, + NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { + }, + NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { + }, + NativeFloat32List: function NativeFloat32List() { + }, + NativeFloat64List: function NativeFloat64List() { + }, + NativeInt16List: function NativeInt16List() { + }, + NativeInt32List: function NativeInt32List() { + }, + NativeInt8List: function NativeInt8List() { + }, + NativeUint16List: function NativeUint16List() { + }, + NativeUint32List: function NativeUint32List() { + }, + NativeUint8ClampedList: function NativeUint8ClampedList() { + }, + NativeUint8List: function NativeUint8List() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + Rti__getQuestionFromStar(universe, rti) { + var question; + A.assertHelper(rti._kind === 6); + question = rti._precomputed1; + if (question == null) { + A.assertHelper(rti._kind === 6); + question = rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true); + } + return question; + }, + Rti__getFutureFromFutureOr(universe, rti) { + var future; + A.assertHelper(rti._kind === 8); + future = rti._precomputed1; + if (future == null) { + A.assertHelper(rti._kind === 8); + future = rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]); + } + return future; + }, + Rti__isUnionOfFunctionType(rti) { + var kind = rti._kind; + if (kind === 6 || kind === 7 || kind === 8) + return A.Rti__isUnionOfFunctionType(rti._primary); + return kind === 12 || kind === 13; + }, + Rti__getInterfaceTypeArguments(rti) { + A.assertHelper(rti._kind === 9); + return rti._rest; + }, + Rti__getBindingArguments(rti) { + A.assertHelper(rti._kind === 10); + return rti._rest; + }, + Rti__getRecordFields(rti) { + A.assertHelper(rti._kind === 11); + return rti._rest; + }, + Rti__getGenericFunctionBounds(rti) { + A.assertHelper(rti._kind === 13); + return rti._rest; + }, + Rti__getCanonicalRecipe(rti) { + var s = rti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + return s; + }, + findType(recipe) { + return A._Universe_eval(init.typeUniverse, recipe, false); + }, + _substitute(universe, rti, typeArguments, depth) { + var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, + t1 = rti._kind, + kind = t1; + switch (kind) { + case 5: + case 1: + case 2: + case 3: + case 4: + return rti; + case 6: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupStarRti(universe, substitutedBaseType, true); + case 7: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); + case 8: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); + case 9: + interfaceTypeArguments = A.Rti__getInterfaceTypeArguments(rti); + substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); + if (substitutedInterfaceTypeArguments === interfaceTypeArguments) + return rti; + A.assertHelper(rti._kind === 9); + return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); + case 10: + A.assertHelper(t1 === 10); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + $arguments = A.Rti__getBindingArguments(rti); + substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth); + if (substitutedBase === base && substitutedArguments === $arguments) + return rti; + return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); + case 12: + A.assertHelper(t1 === 12); + returnType = rti._primary; + substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); + A.assertHelper(rti._kind === 12); + functionParameters = rti._rest; + substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); + if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) + return rti; + return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); + case 13: + bounds = A.Rti__getGenericFunctionBounds(rti); + depth += bounds.length; + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); + A.assertHelper(rti._kind === 13); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + if (substitutedBounds === bounds && substitutedBase === base) + return rti; + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); + case 14: + A.assertHelper(t1 === 14); + index = rti._primary; + if (index < depth) + return rti; + argument = typeArguments[index - depth]; + if (argument == null) + return rti; + return argument; + default: + throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); + } + }, + _substituteArray(universe, rtiArray, typeArguments, depth) { + var changed, i, rti, substitutedRti, + $length = rtiArray.length, + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; ++i) { + rti = rtiArray[i]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result[i] = substitutedRti; + } + return changed ? result : rtiArray; + }, + _substituteNamed(universe, namedArray, typeArguments, depth) { + var result, changed, i, t1, t2, rti, substitutedRti, + $length = namedArray.length; + A.assertHelper($length % 3 === 0); + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; i += 3) { + t1 = namedArray[i]; + t2 = namedArray[i + 1]; + rti = namedArray[i + 2]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result.splice(i, 3, t1, t2, substitutedRti); + } + return changed ? result : namedArray; + }, + _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) { + var result, + requiredPositional = functionParameters._requiredPositional, + substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth), + optionalPositional = functionParameters._optionalPositional, + substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth), + named = functionParameters._named, + substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth); + if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) + return functionParameters; + result = new A._FunctionParameters(); + result._requiredPositional = substitutedRequiredPositional; + result._optionalPositional = substitutedOptionalPositional; + result._named = substitutedNamed; + return result; + }, + _setArrayType(target, rti) { + A.assertHelper(rti != null); + target[init.arrayRti] = rti; + return target; + }, + closureFunctionType(closure) { + var t1, + signature = closure.$signature; + if (signature != null) { + if (typeof signature == "number") + return A.getTypeFromTypesTable(signature); + t1 = closure.$signature(); + return t1; + } + return null; + }, + instanceOrFunctionType(object, testRti) { + var rti; + if (A.Rti__isUnionOfFunctionType(testRti)) + if (object instanceof A.Closure) { + rti = A.closureFunctionType(object); + if (rti != null) + return rti; + } + return A.instanceType(object); + }, + instanceType(object) { + if (object instanceof A.Object) + return A._instanceType(object); + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A._instanceTypeFromConstructor(J.getInterceptor$(object)); + }, + _arrayInstanceType(object) { + var rti = object[init.arrayRti], + defaultRti = type$.JSArray_dynamic; + if (rti == null) + return defaultRti; + if (rti.constructor !== defaultRti.constructor) + return defaultRti; + return rti; + }, + _instanceType(object) { + var rti = object.$ti; + return rti != null ? rti : A._instanceTypeFromConstructor(object); + }, + _instanceTypeFromConstructor(instance) { + var $constructor = instance.constructor, + probe = $constructor.$ccache; + if (probe != null) + return probe; + return A._instanceTypeFromConstructorMiss(instance, $constructor); + }, + _instanceTypeFromConstructorMiss(instance, $constructor) { + var effectiveConstructor = instance instanceof A.Closure ? instance.__proto__.__proto__.constructor : $constructor, + rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); + $constructor.$ccache = rti; + return rti; + }, + getTypeFromTypesTable(index) { + var rti, + table = init.types, + type = table[index]; + if (typeof type == "string") { + rti = A._Universe_eval(init.typeUniverse, type, false); + table[index] = rti; + return rti; + } + return type; + }, + getRuntimeTypeOfDartObject(object) { + return A.createRuntimeType(A._instanceType(object)); + }, + _structuralTypeOf(object) { + var functionRti = object instanceof A.Closure ? A.closureFunctionType(object) : null; + if (functionRti != null) + return functionRti; + if (type$.TrustedGetRuntimeType._is(object)) + return J.get$runtimeType$(object)._rti; + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A.instanceType(object); + }, + createRuntimeType(rti) { + var t1 = rti._cachedRuntimeType; + return t1 == null ? rti._cachedRuntimeType = A._createRuntimeType(rti) : t1; + }, + _createRuntimeType(rti) { + var s0, starErasedRecipe, starErasedRti, t1, + _s24_ = "Missing canonical recipe", + s = rti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow(_s24_); + s0 = rti._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow(_s24_); + starErasedRecipe = s0.replace(/\*/g, ""); + if (starErasedRecipe === s) + return A._Type$(rti); + starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true); + t1 = starErasedRti._cachedRuntimeType; + return t1 == null ? starErasedRti._cachedRuntimeType = A._createRuntimeType(starErasedRti) : t1; + }, + typeLiteral(recipe) { + return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false)); + }, + _Type$(_rti) { + A.assertHelper(_rti._cachedRuntimeType == null); + return _rti._cachedRuntimeType = new A._Type(_rti); + }, + _installSpecializedIsTest(object) { + var t1, unstarred, isFn, $name, predicate, testRti = this; + if (testRti === type$.Object) + return A._finishIsFn(testRti, object, A._isObject); + if (!A.isStrongTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + if (t1) + return A._finishIsFn(testRti, object, A._isTop); + t1 = testRti._kind; + if (t1 === 7) + return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation); + if (t1 === 1) + return A._finishIsFn(testRti, object, A._isNever); + if (t1 === 6) { + A.assertHelper(t1 === 6); + unstarred = testRti._primary; + } else + unstarred = testRti; + t1 = unstarred._kind; + if (t1 === 8) + return A._finishIsFn(testRti, object, A._isFutureOr); + if (unstarred === type$.int) + isFn = A._isInt; + else if (unstarred === type$.double || unstarred === type$.num) + isFn = A._isNum; + else if (unstarred === type$.String) + isFn = A._isString; + else + isFn = unstarred === type$.bool ? A._isBool : null; + if (isFn != null) + return A._finishIsFn(testRti, object, isFn); + if (t1 === 9) { + A.assertHelper(t1 === 9); + $name = unstarred._primary; + if (A.Rti__getInterfaceTypeArguments(unstarred).every(A.isTopType)) { + testRti._specializedTestResource = "$is" + $name; + if ($name === "List") + return A._finishIsFn(testRti, object, A._isListTestViaProperty); + return A._finishIsFn(testRti, object, A._isTestViaProperty); + } + } else if (t1 === 11) { + A.assertHelper(t1 === 11); + predicate = A.createRecordTypePredicate(unstarred._primary, A.Rti__getRecordFields(unstarred)); + return A._finishIsFn(testRti, object, predicate == null ? A._isNever : predicate); + } + return A._finishIsFn(testRti, object, A._generalIsTestImplementation); + }, + _finishIsFn(testRti, object, isFn) { + testRti._is = isFn; + return testRti._is(object); + }, + _installSpecializedAsCheck(object) { + var t1, testRti = this, + asFn = A._generalAsCheckImplementation; + if (!A.isStrongTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + if (t1) + asFn = A._asTop; + else if (testRti === type$.Object) + asFn = A._asObject; + else { + t1 = A.isNullable(testRti); + if (t1) + asFn = A._generalNullableAsCheckImplementation; + } + testRti._as = asFn; + return testRti._as(object); + }, + _nullIs(testRti) { + var t1, + kind = testRti._kind; + if (!A.isStrongTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + if (!(testRti === type$.legacy_Never)) + if (kind !== 7) { + if (kind === 6) { + A.assertHelper(testRti._kind === 6); + t1 = A._nullIs(testRti._primary); + } else + t1 = false; + if (!t1) { + if (kind === 8) { + A.assertHelper(testRti._kind === 8); + t1 = A._nullIs(testRti._primary); + } else + t1 = false; + t1 = t1 || testRti === type$.Null || testRti === type$.JSNull; + } else + t1 = true; + } else + t1 = true; + else + t1 = true; + else + t1 = true; + else + t1 = true; + return t1; + }, + _generalIsTestImplementation(object) { + var testRti = this; + if (object == null) + return A._nullIs(testRti); + return A._isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), null, testRti, null); + }, + _generalNullableIsTestImplementation(object) { + var testRti; + if (object == null) + return true; + testRti = this; + A.assertHelper(testRti._kind === 7); + return testRti._primary._is(object); + }, + _isTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A._nullIs(testRti); + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _isListTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A._nullIs(testRti); + if (typeof object != "object") + return false; + if (Array.isArray(object)) + return true; + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _generalAsCheckImplementation(object) { + var t1, testRti = this; + if (object == null) { + t1 = A.isNullable(testRti); + if (t1) + return object; + } else if (testRti._is(object)) + return object; + A._failedAsCheck(object, testRti); + }, + _generalNullableAsCheckImplementation(object) { + var testRti = this; + if (object == null) + return object; + else if (testRti._is(object)) + return object; + A._failedAsCheck(object, testRti); + }, + _failedAsCheck(object, testRti) { + throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null)))); + }, + _Error_compose(object, checkedTypeDescription) { + return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'"; + }, + _TypeError$fromMessage(message) { + return new A._TypeError("TypeError: " + message); + }, + _TypeError__TypeError$forType(object, type) { + return new A._TypeError("TypeError: " + A._Error_compose(object, type)); + }, + _isFutureOr(object) { + var testRti = this; + A.assertHelper(testRti._kind === 8); + return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object); + }, + _isObject(object) { + return object != null; + }, + _asObject(object) { + if (object != null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "Object")); + }, + _isTop(object) { + return true; + }, + _asTop(object) { + return object; + }, + _isNever(object) { + return false; + }, + _isBool(object) { + return true === object || false === object; + }, + _asBool(object) { + if (true === object) + return true; + if (false === object) + return false; + throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); + }, + _asBoolS(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); + }, + _asBoolQ(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "bool?")); + }, + _asDouble(object) { + if (typeof object == "number") + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + }, + _asDoubleS(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + }, + _asDoubleQ(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "double?")); + }, + _isInt(object) { + return typeof object == "number" && Math.floor(object) === object; + }, + _asInt(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); + }, + _asIntS(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); + }, + _asIntQ(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "int?")); + }, + _isNum(object) { + return typeof object == "number"; + }, + _asNum(object) { + if (typeof object == "number") + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + }, + _asNumS(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + }, + _asNumQ(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "num?")); + }, + _isString(object) { + return typeof object == "string"; + }, + _asString(object) { + if (typeof object == "string") + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + }, + _asStringS(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + }, + _asStringQ(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "String?")); + }, + _rtiArrayToString(array, genericContext) { + var s, sep, i; + for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") + s += sep + A._rtiToString(array[i], genericContext); + return s; + }, + _recordRtiToString(recordType, genericContext) { + var partialShape, fields, fieldCount, names, namesIndex, s, comma, i; + A.assertHelper(recordType._kind === 11); + partialShape = recordType._primary; + fields = A.Rti__getRecordFields(recordType); + if ("" === partialShape) + return "(" + A._rtiArrayToString(fields, genericContext) + ")"; + fieldCount = fields.length; + names = partialShape.split(","); + namesIndex = names.length - fieldCount; + for (s = "(", comma = "", i = 0; i < fieldCount; ++i, comma = ", ") { + s += comma; + if (namesIndex === 0) + s += "{"; + s += A._rtiToString(fields[i], genericContext); + if (namesIndex >= 0) + s += " " + names[namesIndex]; + ++namesIndex; + } + return s + "})"; + }, + _functionRtiToString(functionType, genericContext, bounds) { + var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", "; + if (bounds != null) { + boundsLength = bounds.length; + if (genericContext == null) { + genericContext = A._setArrayType([], type$.JSArray_String); + outerContextLength = null; + } else + outerContextLength = genericContext.length; + offset = genericContext.length; + for (i = boundsLength; i > 0; --i) + B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); + for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { + t3 = genericContext.length; + t4 = t3 - 1 - i; + if (!(t4 >= 0)) + return A.ioore(genericContext, t4); + typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t4]); + boundRti = bounds[i]; + kind = boundRti._kind; + if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) + if (!(boundRti === t2)) + t3 = false; + else + t3 = true; + else + t3 = true; + if (!t3) + typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); + } + typeParametersText += ">"; + } else { + typeParametersText = ""; + outerContextLength = null; + } + A.assertHelper(functionType._kind === 12); + t1 = functionType._primary; + A.assertHelper(functionType._kind === 12); + parameters = functionType._rest; + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + A.assertHelper(optionalPositionalLength === 0 || namedLength === 0); + returnTypeText = A._rtiToString(t1, genericContext); + for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext); + if (optionalPositionalLength > 0) { + argumentsText += sep + "["; + for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext); + argumentsText += "]"; + } + if (namedLength > 0) { + argumentsText += sep + "{"; + for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { + argumentsText += sep; + if (named[i + 1]) + argumentsText += "required "; + argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i]; + } + argumentsText += "}"; + } + if (outerContextLength != null) { + genericContext.toString; + genericContext.length = outerContextLength; + } + return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; + }, + _rtiToString(rti, genericContext) { + var s, questionArgument, argumentKind, $name, $arguments, t2, + t1 = rti._kind, + kind = t1; + if (kind === 5) + return "erased"; + if (kind === 2) + return "dynamic"; + if (kind === 3) + return "void"; + if (kind === 1) + return "Never"; + if (kind === 4) + return "any"; + if (kind === 6) { + A.assertHelper(t1 === 6); + s = A._rtiToString(rti._primary, genericContext); + return s; + } + if (kind === 7) { + A.assertHelper(t1 === 7); + questionArgument = rti._primary; + s = A._rtiToString(questionArgument, genericContext); + argumentKind = questionArgument._kind; + return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?"; + } + if (kind === 8) { + A.assertHelper(t1 === 8); + return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; + } + if (kind === 9) { + A.assertHelper(t1 === 9); + $name = A._unminifyOrTag(rti._primary); + $arguments = A.Rti__getInterfaceTypeArguments(rti); + return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; + } + if (kind === 11) + return A._recordRtiToString(rti, genericContext); + if (kind === 12) + return A._functionRtiToString(rti, genericContext, null); + if (kind === 13) { + A.assertHelper(t1 === 13); + return A._functionRtiToString(rti._primary, genericContext, A.Rti__getGenericFunctionBounds(rti)); + } + if (kind === 14) { + genericContext.toString; + A.assertHelper(t1 === 14); + t1 = rti._primary; + t2 = genericContext.length; + t1 = t2 - 1 - t1; + if (!(t1 >= 0 && t1 < t2)) + return A.ioore(genericContext, t1); + return genericContext[t1]; + } + return "?"; + }, + _unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + _Universe_findRule(universe, targetType) { + var rule = universe.tR[targetType]; + for (; typeof rule == "string";) + rule = universe.tR[rule]; + return rule; + }, + _Universe_findErasedType(universe, cls) { + var $length, erased, $arguments, i, $interface, + t1 = universe.eT, + probe = t1[cls]; + if (probe == null) + return A._Universe_eval(universe, cls, false); + else if (typeof probe == "number") { + $length = probe; + erased = A._Universe__lookupTerminalRti(universe, 5, "#"); + $arguments = A._Utils_newArrayOrEmpty($length); + for (i = 0; i < $length; ++i) + $arguments[i] = erased; + $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); + t1[cls] = $interface; + return $interface; + } else + return probe; + }, + _Universe_addRules(universe, rules) { + return A._Utils_objectAssign(universe.tR, rules); + }, + _Universe_addErasedTypes(universe, types) { + return A._Utils_objectAssign(universe.eT, types); + }, + _Universe_eval(universe, recipe, normalize) { + var rti, + t1 = universe.eC, + probe = t1.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize)); + t1.set(recipe, rti); + return rti; + }, + _Universe_evalInEnvironment(universe, environment, recipe) { + var probe, rti, + cache = environment._evalCache; + if (cache == null) + cache = environment._evalCache = new Map(); + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true)); + cache.set(recipe, rti); + return rti; + }, + _Universe_bind(universe, environment, argumentsRti) { + var s, argumentsRecipe, probe, rti, + cache = environment._bindCache; + if (cache == null) + cache = environment._bindCache = new Map(); + s = argumentsRti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + argumentsRecipe = s; + probe = cache.get(argumentsRecipe); + if (probe != null) + return probe; + rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? A.Rti__getBindingArguments(argumentsRti) : [argumentsRti]); + cache.set(argumentsRecipe, rti); + return rti; + }, + _Universe__installTypeTests(universe, rti) { + rti._as = A._installSpecializedAsCheck; + rti._is = A._installSpecializedIsTest; + return rti; + }, + _Universe__lookupTerminalRti(universe, kind, key) { + var rti, t1, + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = kind; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupStarRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "*"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createStarRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createStarRti(universe, baseType, key, normalize) { + var baseKind, t1, rti; + if (normalize) { + baseKind = baseType._kind; + if (!A.isStrongTopType(baseType)) + t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6; + else + t1 = true; + if (t1) + return baseType; + } + rti = new A.Rti(null, null); + rti._kind = 6; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupQuestionRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "?"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createQuestionRti(universe, baseType, key, normalize) { + var baseKind, t1, starArgument, rti; + if (normalize) { + baseKind = baseType._kind; + if (!A.isStrongTopType(baseType)) + if (!(baseType === type$.Null || baseType === type$.JSNull)) + if (baseKind !== 7) + if (baseKind === 8) { + A.assertHelper(baseType._kind === 8); + t1 = A.isNullable(baseType._primary); + } else + t1 = false; + else + t1 = true; + else + t1 = true; + else + t1 = true; + if (t1) + return baseType; + else if (baseKind === 1 || baseType === type$.legacy_Never) + return type$.Null; + else if (baseKind === 6) { + A.assertHelper(baseType._kind === 6); + starArgument = baseType._primary; + t1 = starArgument._kind; + if (t1 === 8) { + A.assertHelper(t1 === 8); + t1 = A.isNullable(starArgument._primary); + } else + t1 = false; + if (t1) + return starArgument; + else + return A.Rti__getQuestionFromStar(universe, baseType); + } + } + rti = new A.Rti(null, null); + rti._kind = 7; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupFutureOrRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "/"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createFutureOrRti(universe, baseType, key, normalize) { + var t1, t2, rti; + if (normalize) { + t1 = baseType._kind; + if (!A.isStrongTopType(baseType)) + if (!(baseType === type$.legacy_Object)) + t2 = false; + else + t2 = true; + else + t2 = true; + if (t2 || baseType === type$.Object) + return baseType; + else if (t1 === 1) + return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); + else if (baseType === type$.Null || baseType === type$.JSNull) + return type$.nullable_Future_Null; + } + rti = new A.Rti(null, null); + rti._kind = 8; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupGenericFunctionParameterRti(universe, index) { + var rti, t1, + key = "" + index + "^", + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 14; + rti._primary = index; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__canonicalRecipeJoin($arguments) { + var s, sep, i, s0, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") { + s0 = $arguments[i]._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow("Missing canonical recipe"); + s += sep + s0; + } + return s; + }, + _Universe__canonicalRecipeJoinNamed($arguments) { + var s, sep, i, t1, nameSep, s0, + $length = $arguments.length; + A.assertHelper($length % 3 === 0); + for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { + t1 = $arguments[i]; + nameSep = $arguments[i + 1] ? "!" : ":"; + s0 = $arguments[i + 2]._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow("Missing canonical recipe"); + s += sep + t1 + nameSep + s0; + } + return s; + }, + _Universe__lookupInterfaceRti(universe, $name, $arguments) { + var s, probe, rti, t1; + A.assertHelper(typeof $name == "string"); + s = $name; + if ($arguments.length > 0) + s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">"; + probe = universe.eC.get(s); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 9; + rti._primary = $name; + rti._rest = $arguments; + if ($arguments.length > 0) + rti._precomputed1 = $arguments[0]; + rti._canonicalRecipe = s; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(s, t1); + return t1; + }, + _Universe__lookupBindingRti(universe, base, $arguments) { + var newBase, newArguments, s, key, probe, rti, + t1 = base._kind; + if (t1 === 10) { + A.assertHelper(t1 === 10); + newBase = base._primary; + newArguments = A.Rti__getBindingArguments(base).concat($arguments); + } else { + newArguments = $arguments; + newBase = base; + } + s = newBase._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 10; + rti._primary = newBase; + rti._rest = newArguments; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupRecordRti(universe, partialShapeTag, fields) { + var rti, t1, + key = "+" + (partialShapeTag + "(" + A._Universe__canonicalRecipeJoin(fields) + ")"), + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 11; + rti._primary = partialShapeTag; + rti._rest = fields; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupFunctionRti(universe, returnType, parameters) { + var requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, recipe, sep, key, probe, rti, t1, + s = returnType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + A.assertHelper(optionalPositionalLength === 0 || namedLength === 0); + recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); + if (optionalPositionalLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; + } + if (namedLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; + } + key = s + (recipe + ")"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 12; + rti._primary = returnType; + rti._rest = parameters; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) { + var key, probe, t1, + s = baseFunctionType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) { + var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; + if (normalize) { + $length = bounds.length; + typeArguments = A._Utils_newArrayOrEmpty($length); + for (count = 0, i = 0; i < $length; ++i) { + bound = bounds[i]; + if (bound._kind === 1) { + typeArguments[i] = bound; + ++count; + } + } + if (count > 0) { + substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0); + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0); + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); + } + } + rti = new A.Rti(null, null); + rti._kind = 13; + rti._primary = baseFunctionType; + rti._rest = bounds; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Parser_create(universe, environment, recipe, normalize) { + return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; + }, + _Parser_parse(parser) { + var t2, i, ch, t3, t4, array, end, item, + source = parser.r, + t1 = parser.s; + for (t2 = source.length, i = 0; i < t2;) { + ch = source.charCodeAt(i); + if (ch >= 48 && ch <= 57) + i = A._Parser_handleDigit(i + 1, ch, source, t1); + else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124) + i = A._Parser_handleIdentifier(parser, i, source, t1, false); + else if (ch === 46) + i = A._Parser_handleIdentifier(parser, i, source, t1, true); + else { + ++i; + switch (ch) { + case 44: + break; + case 58: + t1.push(false); + break; + case 33: + t1.push(true); + break; + case 59: + t1.push(A._Parser_toType(parser.u, parser.e, t1.pop())); + break; + case 94: + t3 = parser.u; + t4 = t1.pop(); + A.assertHelper(typeof t4 == "number"); + t1.push(A._Universe__lookupGenericFunctionParameterRti(t3, t4)); + break; + case 35: + t1.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); + break; + case 64: + t1.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); + break; + case 126: + t1.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); + break; + case 60: + t1.push(parser.p); + parser.p = t1.length; + break; + case 62: + A._Parser_handleTypeArguments(parser, t1); + break; + case 38: + A._Parser_handleExtendedOperations(parser, t1); + break; + case 42: + t3 = parser.u; + t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 63: + t3 = parser.u; + t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 47: + t3 = parser.u; + t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 40: + t1.push(-3); + t1.push(parser.p); + parser.p = t1.length; + break; + case 41: + A._Parser_handleArguments(parser, t1); + break; + case 91: + t1.push(parser.p); + parser.p = t1.length; + break; + case 93: + array = t1.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + t1.push(array); + t1.push(-1); + break; + case 123: + t1.push(parser.p); + parser.p = t1.length; + break; + case 125: + array = t1.splice(parser.p); + A._Parser_toTypesNamed(parser.u, parser.e, array); + parser.p = t1.pop(); + t1.push(array); + t1.push(-2); + break; + case 43: + end = source.indexOf("(", i); + A.assertHelper(end >= 0); + t1.push(source.substring(i, end)); + t1.push(-4); + t1.push(parser.p); + parser.p = t1.length; + i = end + 1; + break; + default: + throw "Bad character " + ch; + } + } + } + item = t1.pop(); + return A._Parser_toType(parser.u, parser.e, item); + }, + _Parser_handleDigit(i, digit, source, stack) { + var t1, ch, + value = digit - 48; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (!(ch >= 48 && ch <= 57)) + break; + value = value * 10 + (ch - 48); + } + stack.push(value); + return i; + }, + _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) { + var t1, ch, t2, string, environment, rule, recipe, + i = start + 1; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (ch === 46) { + if (hasPeriod) + break; + hasPeriod = true; + } else { + if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)) + t2 = ch >= 48 && ch <= 57; + else + t2 = true; + if (!t2) + break; + } + } + string = source.substring(start, i); + if (hasPeriod) { + t1 = parser.u; + environment = parser.e; + t2 = environment._kind; + if (t2 === 10) { + A.assertHelper(t2 === 10); + environment = environment._primary; + } + A.assertHelper(environment._kind === 9); + rule = A._Universe_findRule(t1, environment._primary); + A.assertHelper(rule != null); + recipe = rule[string]; + if (recipe == null) + A.throwExpression('No "' + string + '" in "' + A.Rti__getCanonicalRecipe(environment) + '"'); + stack.push(A._Universe_evalInEnvironment(t1, environment, recipe)); + } else + stack.push(string); + return i; + }, + _Parser_handleTypeArguments(parser, stack) { + var base, + t1 = parser.u, + $arguments = A._Parser_collectArray(parser, stack), + head = stack.pop(); + if (typeof head == "string") + stack.push(A._Universe__lookupInterfaceRti(t1, head, $arguments)); + else { + base = A._Parser_toType(t1, parser.e, head); + switch (base._kind) { + case 12: + stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n)); + break; + default: + stack.push(A._Universe__lookupBindingRti(t1, base, $arguments)); + break; + } + } + }, + _Parser_handleArguments(parser, stack) { + var optionalPositional, named, requiredPositional, returnType, parameters, _null = null, + t1 = parser.u, + head = stack.pop(); + if (typeof head == "number") + switch (head) { + case -1: + optionalPositional = stack.pop(); + named = _null; + break; + case -2: + named = stack.pop(); + optionalPositional = _null; + break; + default: + stack.push(head); + named = _null; + optionalPositional = named; + break; + } + else { + stack.push(head); + named = _null; + optionalPositional = named; + } + requiredPositional = A._Parser_collectArray(parser, stack); + head = stack.pop(); + switch (head) { + case -3: + head = stack.pop(); + if (optionalPositional == null) + optionalPositional = t1.sEA; + if (named == null) + named = t1.sEA; + returnType = A._Parser_toType(t1, parser.e, head); + parameters = new A._FunctionParameters(); + parameters._requiredPositional = requiredPositional; + parameters._optionalPositional = optionalPositional; + parameters._named = named; + stack.push(A._Universe__lookupFunctionRti(t1, returnType, parameters)); + return; + case -4: + A.assertHelper(optionalPositional == null); + A.assertHelper(named == null); + head = stack.pop(); + A.assertHelper(typeof head == "string"); + stack.push(A._Universe__lookupRecordRti(t1, head, requiredPositional)); + return; + default: + throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head))); + } + }, + _Parser_handleExtendedOperations(parser, stack) { + var $top = stack.pop(); + if (0 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&")); + return; + } + if (1 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&")); + return; + } + throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top))); + }, + _Parser_collectArray(parser, stack) { + var array = stack.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = stack.pop(); + return array; + }, + _Parser_toType(universe, environment, item) { + if (typeof item == "string") + return A._Universe__lookupInterfaceRti(universe, item, universe.sEA); + else if (typeof item == "number") { + environment.toString; + return A._Parser_indexToType(universe, environment, item); + } else + return item; + }, + _Parser_toTypes(universe, environment, items) { + var i, + $length = items.length; + for (i = 0; i < $length; ++i) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_toTypesNamed(universe, environment, items) { + var i, + $length = items.length; + A.assertHelper($length % 3 === 0); + for (i = 2; i < $length; i += 3) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_indexToType(universe, environment, index) { + var typeArguments, len, + t1 = environment._kind, + kind = t1; + if (kind === 10) { + if (index === 0) { + A.assertHelper(t1 === 10); + return environment._primary; + } + typeArguments = A.Rti__getBindingArguments(environment); + len = typeArguments.length; + if (index <= len) + return typeArguments[index - 1]; + index -= len; + A.assertHelper(t1 === 10); + environment = environment._primary; + kind = environment._kind; + } else if (index === 0) + return environment; + if (kind !== 9) + throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); + typeArguments = A.Rti__getInterfaceTypeArguments(environment); + if (index <= typeArguments.length) + return typeArguments[index - 1]; + throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); + }, + _isSubtype(universe, s, sEnv, t, tEnv) { + var t1, sKind, t2, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound; + if (s === t) + return true; + if (!A.isStrongTopType(t)) + if (!(t === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + if (t1) + return true; + sKind = s._kind; + if (sKind === 4) + return true; + if (A.isStrongTopType(s)) + return false; + t1 = s._kind; + if (t1 !== 1) + t2 = false; + else + t2 = true; + if (t2) + return true; + leftTypeVariable = sKind === 14; + if (leftTypeVariable) { + A.assertHelper(t1 === 14); + if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) + return true; + } + t1 = t._kind; + tKind = t1; + t2 = s === type$.Null || s === type$.JSNull; + if (t2) { + if (tKind === 8) { + A.assertHelper(t1 === 8); + return A._isSubtype(universe, s, sEnv, t._primary, tEnv); + } + return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6; + } + if (t === type$.Object) { + if (sKind === 8) { + A.assertHelper(s._kind === 8); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + } + if (sKind === 6) { + A.assertHelper(s._kind === 6); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + } + return sKind !== 7; + } + if (sKind === 6) { + A.assertHelper(s._kind === 6); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + } + if (tKind === 6) { + t1 = A.Rti__getQuestionFromStar(universe, t); + return A._isSubtype(universe, s, sEnv, t1, tEnv); + } + if (sKind === 8) { + A.assertHelper(s._kind === 8); + if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv)) + return false; + return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); + } + if (sKind === 7) { + t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv); + if (t1) { + A.assertHelper(s._kind === 7); + t1 = A._isSubtype(universe, s._primary, sEnv, t, tEnv); + } else + t1 = false; + return t1; + } + if (tKind === 8) { + A.assertHelper(t1 === 8); + if (A._isSubtype(universe, s, sEnv, t._primary, tEnv)) + return true; + return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv); + } + if (tKind === 7) { + t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv); + if (!t1) { + A.assertHelper(t._kind === 7); + t1 = A._isSubtype(universe, s, sEnv, t._primary, tEnv); + } else + t1 = true; + return t1; + } + if (leftTypeVariable) + return false; + t1 = sKind !== 12; + if ((!t1 || sKind === 13) && t === type$.Function) + return true; + t2 = sKind === 11; + if (t2 && t === type$.Record) + return true; + if (tKind === 13) { + if (s === type$.JavaScriptFunction) + return true; + if (sKind !== 13) + return false; + sBounds = A.Rti__getGenericFunctionBounds(s); + tBounds = A.Rti__getGenericFunctionBounds(t); + sLength = sBounds.length; + if (sLength !== tBounds.length) + return false; + sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); + tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); + for (i = 0; i < sLength; ++i) { + sBound = sBounds[i]; + tBound = tBounds[i]; + if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv)) + return false; + } + A.assertHelper(s._kind === 13); + t1 = s._primary; + A.assertHelper(t._kind === 13); + return A._isFunctionSubtype(universe, t1, sEnv, t._primary, tEnv); + } + if (tKind === 12) { + if (s === type$.JavaScriptFunction) + return true; + if (t1) + return false; + return A._isFunctionSubtype(universe, s, sEnv, t, tEnv); + } + if (sKind === 9) { + if (tKind !== 9) + return false; + return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv); + } + if (t2 && tKind === 11) + return A._isRecordSubtype(universe, s, sEnv, t, tEnv); + return false; + }, + _isFunctionSubtype(universe, s, sEnv, t, tEnv) { + var t1, sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired; + A.assertHelper(s._kind === 12); + A.assertHelper(t._kind === 12); + A.assertHelper(s._kind === 12); + t1 = s._primary; + A.assertHelper(t._kind === 12); + if (!A._isSubtype(universe, t1, sEnv, t._primary, tEnv)) + return false; + A.assertHelper(s._kind === 12); + sParameters = s._rest; + A.assertHelper(t._kind === 12); + tParameters = t._rest; + sRequiredPositional = sParameters._requiredPositional; + tRequiredPositional = tParameters._requiredPositional; + sRequiredPositionalLength = sRequiredPositional.length; + tRequiredPositionalLength = tRequiredPositional.length; + if (sRequiredPositionalLength > tRequiredPositionalLength) + return false; + requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; + sOptionalPositional = sParameters._optionalPositional; + tOptionalPositional = tParameters._optionalPositional; + sOptionalPositionalLength = sOptionalPositional.length; + tOptionalPositionalLength = tOptionalPositional.length; + if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) + return false; + for (i = 0; i < sRequiredPositionalLength; ++i) { + t1 = sRequiredPositional[i]; + if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv)) + return false; + } + for (i = 0; i < requiredPositionalDelta; ++i) { + t1 = sOptionalPositional[i]; + if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv)) + return false; + } + for (i = 0; i < tOptionalPositionalLength; ++i) { + t1 = sOptionalPositional[requiredPositionalDelta + i]; + if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) + return false; + } + sNamed = sParameters._named; + tNamed = tParameters._named; + sNamedLength = sNamed.length; + tNamedLength = tNamed.length; + for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { + tName = tNamed[tIndex]; + for (; true;) { + if (sIndex >= sNamedLength) + return false; + sName = sNamed[sIndex]; + sIndex += 3; + if (tName < sName) + return false; + sIsRequired = sNamed[sIndex - 2]; + if (sName < tName) { + if (sIsRequired) + return false; + continue; + } + t1 = tNamed[tIndex + 1]; + if (sIsRequired && !t1) + return false; + t1 = sNamed[sIndex - 1]; + if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) + return false; + break; + } + } + for (; sIndex < sNamedLength;) { + if (sNamed[sIndex + 1]) + return false; + sIndex += 3; + } + return true; + }, + _isInterfaceSubtype(universe, s, sEnv, t, tEnv) { + var sName, tName, t1, rule, recipes, $length, supertypeArgs, i, sArgs, tArgs; + A.assertHelper(s._kind === 9); + sName = s._primary; + A.assertHelper(t._kind === 9); + tName = t._primary; + for (; t1 = sName === tName, !t1;) { + rule = universe.tR[sName]; + if (rule == null) + return false; + if (typeof rule == "string") { + sName = rule; + continue; + } + recipes = rule[tName]; + if (recipes == null) + return false; + $length = recipes.length; + supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA; + for (i = 0; i < $length; ++i) + supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]); + A.assertHelper(t._kind === 9); + return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv); + } + A.assertHelper(t1); + sArgs = A.Rti__getInterfaceTypeArguments(s); + tArgs = A.Rti__getInterfaceTypeArguments(t); + return A._areArgumentsSubtypes(universe, sArgs, null, sEnv, tArgs, tEnv); + }, + _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) { + var i, t1, t2, + $length = sArgs.length; + A.assertHelper($length === tArgs.length); + A.assertHelper(sVariances == null); + for (i = 0; i < $length; ++i) { + t1 = sArgs[i]; + t2 = tArgs[i]; + if (!A._isSubtype(universe, t1, sEnv, t2, tEnv)) + return false; + } + return true; + }, + _isRecordSubtype(universe, s, sEnv, t, tEnv) { + var t1, i, + sFields = A.Rti__getRecordFields(s), + tFields = A.Rti__getRecordFields(t), + sCount = sFields.length; + if (sCount !== tFields.length) + return false; + A.assertHelper(s._kind === 11); + t1 = s._primary; + A.assertHelper(t._kind === 11); + if (t1 !== t._primary) + return false; + for (i = 0; i < sCount; ++i) + if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv)) + return false; + return true; + }, + isNullable(t) { + var t1, + kind = t._kind; + if (!(t === type$.Null || t === type$.JSNull)) + if (!A.isStrongTopType(t)) + if (kind !== 7) { + if (kind === 6) { + A.assertHelper(t._kind === 6); + t1 = A.isNullable(t._primary); + } else + t1 = false; + if (!t1) + if (kind === 8) { + A.assertHelper(t._kind === 8); + t1 = A.isNullable(t._primary); + } else + t1 = false; + else + t1 = true; + } else + t1 = true; + else + t1 = true; + else + t1 = true; + return t1; + }, + isTopType(t) { + var t1; + if (!A.isStrongTopType(t)) + if (!(t === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + return t1; + }, + isStrongTopType(t) { + var kind = t._kind; + return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; + }, + _Utils_objectAssign(o, other) { + var i, key, + keys = Object.keys(other), + $length = keys.length; + for (i = 0; i < $length; ++i) { + key = keys[i]; + o[key] = other[key]; + } + }, + _Utils_newArrayOrEmpty($length) { + return $length > 0 ? new Array($length) : init.typeUniverse.sEA; + }, + Rti: function Rti(t0, t1) { + var _ = this; + _._as = t0; + _._is = t1; + _._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null; + _._kind = 0; + _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; + }, + _FunctionParameters: function _FunctionParameters() { + this._named = this._optionalPositional = this._requiredPositional = null; + }, + _Type: function _Type(t0) { + this._rti = t0; + }, + _Error: function _Error() { + }, + _TypeError: function _TypeError(t0) { + this.__rti$_message = t0; + }, + _AsyncRun__initializeScheduleImmediate() { + var div, span, t1 = {}; + if (self.scheduleImmediate != null) + return A.async__AsyncRun__scheduleImmediateJsOverride$closure(); + if (self.MutationObserver != null && self.document != null) { + div = self.document.createElement("div"); + span = self.document.createElement("span"); + t1.storedCallback = null; + new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); + return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); + } else if (self.setImmediate != null) + return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); + return A.async__AsyncRun__scheduleImmediateWithTimer$closure(); + }, + _AsyncRun__scheduleImmediateJsOverride(callback) { + self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithSetImmediate(callback) { + self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithTimer(callback) { + A.Timer__createTimer(B.C_Duration, type$.void_Function._as(callback)); + }, + Timer__createTimer(duration, callback) { + return A._TimerImpl$(0, callback); + }, + _TimerImpl$(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$2(milliseconds, callback); + return t1; + }, + _TimerImpl$periodic(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$periodic$2(milliseconds, callback); + return t1; + }, + _makeAsyncAwaitCompleter($T) { + return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); + }, + _asyncStartSync(bodyFunction, completer) { + bodyFunction.call$2(0, null); + completer.isSync = true; + return completer._future; + }, + _asyncAwait(object, bodyFunction) { + A._awaitOnObject(object, bodyFunction); + }, + _asyncReturn(object, completer) { + completer.complete$1(0, object); + }, + _asyncRethrow(object, completer) { + completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object)); + }, + _awaitOnObject(object, bodyFunction) { + var t1, future, + thenCallback = new A._awaitOnObject_closure(bodyFunction), + errorCallback = new A._awaitOnObject_closure0(bodyFunction); + if (object instanceof A._Future) + object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); + else { + t1 = type$.dynamic; + if (type$.Future_dynamic._is(object)) + object.then$1$2$onError(thenCallback, errorCallback, t1); + else { + future = new A._Future($.Zone__current, type$._Future_dynamic); + future._state = 8; + future._resultOrListeners = object; + future._thenAwait$1$2(thenCallback, errorCallback, t1); + } + } + }, + _wrapJsFunctionForAsync($function) { + var $protected = function(fn, ERROR) { + return function(errorCode, result) { + while (true) + try { + fn(errorCode, result); + break; + } catch (error) { + result = error; + errorCode = ERROR; + } + }; + }($function, 1); + return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); + }, + _IterationMarker_yieldStar(values) { + return new A._IterationMarker(values, 1); + }, + _IterationMarker_endOfIteration() { + return B._IterationMarker_null_2; + }, + _IterationMarker_uncaughtError(error) { + return new A._IterationMarker(error, 3); + }, + _makeSyncStarIterable(body, $T) { + return new A._SyncStarIterable(body, $T._eval$1("_SyncStarIterable<0>")); + }, + AsyncError$(error, stackTrace) { + var t1 = A.checkNotNullable(error, "error", type$.Object); + return new A.AsyncError(t1, stackTrace == null ? A.AsyncError_defaultStackTrace(error) : stackTrace); + }, + AsyncError_defaultStackTrace(error) { + var stackTrace; + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace != null) + return stackTrace; + } + return B._StringStackTrace_3uE; + }, + Future_Future(computation, $T) { + var result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + A.Timer_Timer(B.C_Duration, new A.Future_Future_closure(result, computation)); + return result; + }, + Future_Future$sync(computation, $T) { + var result, error, stackTrace, future, replacement, t1, t2, exception; + try { + result = computation.call$0(); + if ($T._eval$1("Future<0>")._is(result)) + return result; + else { + t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t2 = $T._as(result); + t1._state = 8; + t1._resultOrListeners = t2; + return t1; + } + } catch (exception) { + error = A.unwrapException(exception); + stackTrace = A.getTraceFromException(exception); + t1 = $.Zone__current; + future = new A._Future(t1, $T._eval$1("_Future<0>")); + replacement = t1.errorCallback$2(error, stackTrace); + if (replacement != null) + future._asyncCompleteError$2(replacement.error, replacement.stackTrace); + else + future._asyncCompleteError$2(error, stackTrace); + return future; + } + }, + Future_Future$value(value, $T) { + var t1 = value == null ? $T._as(value) : value, + t2 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t2._asyncComplete$1(t1); + return t2; + }, + Future_Future$error(error, stackTrace, $T) { + var t1, replacement; + A.checkNotNullable(error, "error", type$.Object); + t1 = $.Zone__current; + if (t1 !== B.C__RootZone) { + replacement = t1.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } + } + if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t1._asyncCompleteError$2(error, stackTrace); + return t1; + }, + Future_Future$delayed(duration, $T) { + var result, + t1 = !$T._is(null); + if (t1) + throw A.wrapException(A.ArgumentError$value(null, "computation", "The type parameter is not nullable")); + result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + A.Timer_Timer(duration, new A.Future_Future$delayed_closure(null, result, $T)); + return result; + }, + Future_wait(futures, $T) { + var error, stackTrace, handleError, future, pos, e, st, t1, t2, exception, _box_0 = {}, cleanUp = null, + eagerError = false, + _future = new A._Future($.Zone__current, $T._eval$1("_Future>")); + _box_0.values = null; + _box_0.remaining = 0; + error = A._Cell$named("error"); + stackTrace = A._Cell$named("stackTrace"); + handleError = new A.Future_wait_handleError(_box_0, cleanUp, eagerError, _future, error, stackTrace); + try { + for (t1 = J.get$iterator$ax(futures), t2 = type$.Null; t1.moveNext$0();) { + future = t1.get$current(t1); + pos = _box_0.remaining; + future.then$1$2$onError(new A.Future_wait_closure(_box_0, pos, _future, cleanUp, eagerError, error, stackTrace, $T), handleError, t2); + ++_box_0.remaining; + } + t1 = _box_0.remaining; + if (t1 === 0) { + t1 = _future; + t1._completeWithValue$1(A._setArrayType([], $T._eval$1("JSArray<0>"))); + return t1; + } + _box_0.values = A.List_List$filled(t1, null, false, $T._eval$1("0?")); + } catch (exception) { + e = A.unwrapException(exception); + st = A.getTraceFromException(exception); + if (_box_0.remaining === 0 || A.boolConversionCheck(eagerError)) + return A.Future_Future$error(e, st, $T._eval$1("List<0>")); + else { + error._value = e; + stackTrace._value = st; + } + } + return _future; + }, + _completeWithErrorCallback(result, error, stackTrace) { + var replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + result._completeError$2(error, stackTrace); + }, + _Future__chainCoreFuture(source, target) { + var t1, t2, t3, listeners; + A.assertHelper(target._state <= 3); + for (t1 = type$._Future_dynamic; t2 = source._state, t3 = (t2 & 4) !== 0, t3;) { + A.assertHelper(t3); + source = t1._as(source._resultOrListeners); + } + if ((t2 & 24) !== 0) { + listeners = target._removeListeners$0(); + target._cloneResult$1(source); + A._Future__propagateToListeners(target, listeners); + } else { + listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); + A.assertHelper(target._state <= 3); + target._state = target._state & 1 | 4; + target._resultOrListeners = source; + source._prependListeners$1(listeners); + } + }, + _Future__propagateToListeners(source, listeners) { + var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, previous, oldZone, result, current, _box_1 = {}, + t1 = _box_1.source = source; + for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) { + _box_0 = {}; + A.assertHelper((t1._state & 24) !== 0); + t1 = _box_1.source; + t5 = t1._state; + t6 = (t5 & 16) === 0; + hasError = !t6; + if (listeners == null) { + if (hasError && (t5 & 1) === 0) { + A.assertHelper(hasError); + asyncError = t2._as(t1._resultOrListeners); + _box_1.source._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); + } + return; + } + _box_0.listener = listeners; + nextListener = listeners._nextListener; + for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { + t1._nextListener = null; + A._Future__propagateToListeners(_box_1.source, t1); + _box_0.listener = nextListener; + nextListener0 = nextListener._nextListener; + } + t5 = _box_1.source; + sourceResult = t5._resultOrListeners; + _box_0.listenerHasError = hasError; + _box_0.listenerValueOrError = sourceResult; + if (t6) { + t7 = t1.state; + t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; + } else + t7 = true; + if (t7) { + zone = t1.result._zone; + if (hasError) { + t1 = t5._zone; + t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone()); + } else + t1 = false; + if (t1) { + t1 = _box_1.source; + A.assertHelper((t1._state & 16) !== 0); + asyncError = t2._as(t1._resultOrListeners); + _box_1.source._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); + return; + } + t1 = $.Zone__current; + if (t1 !== zone) { + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + oldZone = previous; + } else + oldZone = null; + t1 = _box_0.listener.state; + if ((t1 & 15) === 8) + new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); + else if (t6) { + if ((t1 & 1) !== 0) + new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); + } else if ((t1 & 2) !== 0) + new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); + if (oldZone != null) + $.Zone__current = oldZone; + t1 = _box_0.listenerValueOrError; + if (t4._is(t1)) { + t5 = _box_0.listener.$ti; + t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); + } else + t5 = false; + if (t5) { + t4._as(t1); + result = _box_0.listener.result; + if ((t1._state & 24) !== 0) { + A.assertHelper((result._state & 24) === 0); + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + result._cloneResult$1(t1); + _box_1.source = t1; + continue; + } else + A._Future__chainCoreFuture(t1, result); + return; + } + } + result = _box_0.listener.result; + A.assertHelper((result._state & 24) === 0); + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + t1 = _box_0.listenerHasError; + t5 = _box_0.listenerValueOrError; + t6 = result._state & 24; + if (!t1) { + result.$ti._precomputed1._as(t5); + A.assertHelper(t6 === 0); + result._state = 8; + result._resultOrListeners = t5; + } else { + t2._as(t5); + A.assertHelper(t6 === 0); + result._state = result._state & 1 | 16; + result._resultOrListeners = t5; + } + _box_1.source = result; + t1 = result; + } + }, + _registerErrorHandler(errorHandler, zone) { + if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) + return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.dynamic_Function_Object._is(errorHandler)) + return zone.registerUnaryCallback$2$1(errorHandler, type$.dynamic, type$.Object); + throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_)); + }, + _microtaskLoop() { + var entry, next; + for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { + $._lastPriorityCallback = null; + next = entry.next; + $._nextCallback = next; + if (next == null) + $._lastCallback = null; + entry.callback.call$0(); + } + }, + _startMicrotaskLoop() { + $._isInCallbackLoop = true; + try { + A._microtaskLoop(); + } finally { + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + if ($._nextCallback != null) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } + }, + _scheduleAsyncCallback(callback) { + var newEntry = new A._AsyncCallbackEntry(callback), + lastCallback = $._lastCallback; + if (lastCallback == null) { + $._nextCallback = $._lastCallback = newEntry; + if (!$._isInCallbackLoop) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } else + $._lastCallback = lastCallback.next = newEntry; + }, + _schedulePriorityAsyncCallback(callback) { + var entry, lastPriorityCallback, next, + t1 = $._nextCallback; + if (t1 == null) { + A._scheduleAsyncCallback(callback); + $._lastPriorityCallback = $._lastCallback; + return; + } + entry = new A._AsyncCallbackEntry(callback); + lastPriorityCallback = $._lastPriorityCallback; + if (lastPriorityCallback == null) { + entry.next = t1; + $._nextCallback = $._lastPriorityCallback = entry; + } else { + next = lastPriorityCallback.next; + entry.next = next; + $._lastPriorityCallback = lastPriorityCallback.next = entry; + if (next == null) + $._lastCallback = entry; + } + }, + scheduleMicrotask(callback) { + var t1, _null = null, + currentZone = $.Zone__current; + if (B.C__RootZone === currentZone) { + A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback); + return; + } + if (B.C__RootZone === currentZone.get$_scheduleMicrotask().zone) + t1 = B.C__RootZone.get$errorZone() === currentZone.get$errorZone(); + else + t1 = false; + if (t1) { + A._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1$1(callback, type$.void)); + return; + } + t1 = $.Zone__current; + t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback)); + }, + StreamIterator_StreamIterator(stream, $T) { + return new A._StreamIterator(A.checkNotNullable(stream, "stream", type$.Object), $T._eval$1("_StreamIterator<0>")); + }, + StreamController_StreamController(onCancel, onListen, sync, $T) { + var _null = null; + return sync ? new A._SyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_AsyncStreamController<0>")); + }, + StreamController_StreamController$broadcast(sync, $T) { + return new A._SyncBroadcastStreamController(null, null, $T._eval$1("_SyncBroadcastStreamController<0>")); + }, + _runGuarded(notificationHandler) { + var e, s, exception; + if (notificationHandler == null) + return; + try { + notificationHandler.call$0(); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + $.Zone__current.handleUncaughtError$2(e, s); + } + }, + _ControllerSubscription$(_controller, onData, onError, onDone, cancelOnError, $T) { + var t1 = $.Zone__current, + t2 = cancelOnError ? 1 : 0; + return new A._ControllerSubscription(_controller, A._BufferingStreamSubscription__registerDataHandler(t1, onData, $T), A._BufferingStreamSubscription__registerErrorHandler(t1, onError), A._BufferingStreamSubscription__registerDoneHandler(t1, onDone), t1, t2, $T._eval$1("_ControllerSubscription<0>")); + }, + _BufferingStreamSubscription__registerDataHandler(zone, handleData, $T) { + var t1 = handleData == null ? A.async___nullDataHandler$closure() : handleData; + return zone.registerUnaryCallback$2$1(t1, type$.void, $T); + }, + _BufferingStreamSubscription__registerErrorHandler(zone, handleError) { + if (handleError == null) + handleError = A.async___nullErrorHandler$closure(); + if (type$.void_Function_Object_StackTrace._is(handleError)) + return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.void_Function_Object._is(handleError)) + return zone.registerUnaryCallback$2$1(handleError, type$.dynamic, type$.Object); + throw A.wrapException(A.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.", null)); + }, + _BufferingStreamSubscription__registerDoneHandler(zone, handleDone) { + var t1 = handleDone == null ? A.async___nullDoneHandler$closure() : handleDone; + return zone.registerCallback$1$1(t1, type$.void); + }, + _nullDataHandler(value) { + }, + _nullErrorHandler(error, stackTrace) { + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + $.Zone__current.handleUncaughtError$2(error, stackTrace); + }, + _nullDoneHandler() { + }, + _runUserCode(userCode, onSuccess, onError, $T) { + var e, s, replacement, error, stackTrace, exception; + try { + onSuccess.call$1(userCode.call$0()); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + replacement = $.Zone__current.errorCallback$2(e, s); + if (replacement == null) + onError.call$2(e, s); + else { + error = replacement.error; + stackTrace = replacement.stackTrace; + onError.call$2(error, stackTrace); + } + } + }, + _cancelAndError(subscription, future, error, stackTrace) { + var cancelFuture = subscription.cancel$0(0), + t1 = $.$get$Future__nullFuture(); + if (cancelFuture !== t1) + cancelFuture.whenComplete$1(new A._cancelAndError_closure(future, error, stackTrace)); + else + future._completeError$2(error, stackTrace); + }, + _cancelAndErrorClosure(subscription, future) { + return new A._cancelAndErrorClosure_closure(subscription, future); + }, + _cancelAndValue(subscription, future, value) { + var cancelFuture = subscription.cancel$0(0), + t1 = $.$get$Future__nullFuture(); + if (cancelFuture !== t1) + cancelFuture.whenComplete$1(new A._cancelAndValue_closure(future, value)); + else + future._complete$1(value); + }, + Timer_Timer(duration, callback) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return t1.createTimer$2(duration, callback); + return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback)); + }, + _rootHandleUncaughtError($self, $parent, zone, error, stackTrace) { + A._rootHandleError(type$.Object._as(error), type$.StackTrace._as(stackTrace)); + }, + _rootHandleError(error, stackTrace) { + A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace)); + }, + _rootRun($self, $parent, zone, f, $R) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("0()")._as(f); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$0(); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$0(); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunUnary($self, $parent, zone, f, arg, $R, $T) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$1(arg); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$1(arg); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$2(arg1, arg2); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$2(arg1, arg2); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRegisterCallback($self, $parent, zone, f, $R) { + return $R._eval$1("0()")._as(f); + }, + _rootRegisterUnaryCallback($self, $parent, zone, f, $R, $T) { + return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + }, + _rootRegisterBinaryCallback($self, $parent, zone, f, $R, T1, T2) { + return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + }, + _rootErrorCallback($self, $parent, zone, error, stackTrace) { + type$.Object._as(error); + type$.nullable_StackTrace._as(stackTrace); + return null; + }, + _rootScheduleMicrotask($self, $parent, zone, f) { + var t1, t2; + type$.void_Function._as(f); + if (B.C__RootZone !== zone) { + t1 = B.C__RootZone.get$errorZone(); + t2 = zone.get$errorZone(); + f = t1 !== t2 ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void); + } + A._scheduleAsyncCallback(f); + }, + _rootCreateTimer($self, $parent, zone, duration, callback) { + type$.Duration._as(duration); + type$.void_Function._as(callback); + return A.Timer__createTimer(duration, B.C__RootZone !== zone ? zone.bindCallback$1$1(callback, type$.void) : callback); + }, + _rootCreatePeriodicTimer($self, $parent, zone, duration, callback) { + type$.Duration._as(duration); + type$.void_Function_Timer._as(callback); + if (B.C__RootZone !== zone) + callback = zone.bindUnaryCallback$2$1(callback, type$.void, type$.Timer); + return A._TimerImpl$periodic(0, callback); + }, + _rootPrint($self, $parent, zone, line) { + A.printString(A._asString(line)); + }, + _printToZone(line) { + $.Zone__current.print$1(0, line); + }, + _rootFork($self, $parent, zone, specification, zoneValues) { + var valueMap, t1, handleUncaughtError; + type$.nullable_ZoneSpecification._as(specification); + type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(zoneValues); + $.printToZone = A.async___printToZone$closure(); + if (specification == null) + specification = B._ZoneSpecification_ALf; + if (zoneValues == null) + valueMap = zone.get$_async$_map(); + else { + t1 = type$.nullable_Object; + valueMap = A.HashMap_HashMap$from(zoneValues, t1, t1); + } + t1 = new A._CustomZone(zone.get$_run(), zone.get$_runUnary(), zone.get$_runBinary(), zone.get$_registerCallback(), zone.get$_registerUnaryCallback(), zone.get$_registerBinaryCallback(), zone.get$_errorCallback(), zone.get$_scheduleMicrotask(), zone.get$_createTimer(), zone.get$_createPeriodicTimer(), zone.get$_print(), zone.get$_fork(), zone.get$_handleUncaughtError(), zone, valueMap); + handleUncaughtError = specification.handleUncaughtError; + if (handleUncaughtError != null) + t1.set$_handleUncaughtError(new A._ZoneFunction(t1, handleUncaughtError, type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace)); + return t1; + }, + runZoned(body, zoneValues, $R) { + A.checkNotNullable(body, "body", $R._eval$1("0()")); + return A._runZoned(body, zoneValues, null, $R); + }, + _runZoned(body, zoneValues, specification, $R) { + return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1$1(body, $R); + }, + _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { + this._box_0 = t0; + }, + _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { + this._box_0 = t0; + this.div = t1; + this.span = t2; + }, + _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { + this.callback = t0; + }, + _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { + this.callback = t0; + }, + _TimerImpl: function _TimerImpl() { + this._tick = 0; + }, + _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { + this.$this = t0; + this.callback = t1; + }, + _TimerImpl$periodic_closure: function _TimerImpl$periodic_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.milliseconds = t1; + _.start = t2; + _.callback = t3; + }, + _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { + this._future = t0; + this.isSync = false; + this.$ti = t1; + }, + _awaitOnObject_closure: function _awaitOnObject_closure(t0) { + this.bodyFunction = t0; + }, + _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { + this.bodyFunction = t0; + }, + _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { + this.$protected = t0; + }, + _IterationMarker: function _IterationMarker(t0, t1) { + this.value = t0; + this.state = t1; + }, + _SyncStarIterator: function _SyncStarIterator(t0, t1) { + var _ = this; + _._body = t0; + _._suspendedBodies = _._nestedIterator = _._async$_current = null; + _.$ti = t1; + }, + _SyncStarIterable: function _SyncStarIterable(t0, t1) { + this._outerHelper = t0; + this.$ti = t1; + }, + AsyncError: function AsyncError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _BroadcastStream: function _BroadcastStream(t0, t1) { + this._controller = t0; + this.$ti = t1; + }, + _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._eventState = 0; + _._async$_previous = _._async$_next = null; + _._controller = t0; + _._onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _BroadcastStreamController: function _BroadcastStreamController() { + }, + _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) { + var _ = this; + _.onListen = t0; + _.onCancel = t1; + _._state = 0; + _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null; + _.$ti = t2; + }, + _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0, t1) { + this.$this = t0; + this.data = t1; + }, + _SyncBroadcastStreamController__sendError_closure: function _SyncBroadcastStreamController__sendError_closure(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _SyncBroadcastStreamController__sendDone_closure: function _SyncBroadcastStreamController__sendDone_closure(t0) { + this.$this = t0; + }, + Future_Future_closure: function Future_Future_closure(t0, t1) { + this.result = t0; + this.computation = t1; + }, + Future_Future$delayed_closure: function Future_Future$delayed_closure(t0, t1, t2) { + this.computation = t0; + this.result = t1; + this.T = t2; + }, + Future_wait_handleError: function Future_wait_handleError(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._box_0 = t0; + _.cleanUp = t1; + _.eagerError = t2; + _._future = t3; + _.error = t4; + _.stackTrace = t5; + }, + Future_wait_closure: function Future_wait_closure(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _._box_0 = t0; + _.pos = t1; + _._future = t2; + _.cleanUp = t3; + _.eagerError = t4; + _.error = t5; + _.stackTrace = t6; + _.T = t7; + }, + _Completer: function _Completer() { + }, + _AsyncCompleter: function _AsyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _SyncCompleter: function _SyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { + var _ = this; + _._nextListener = null; + _.result = t0; + _.state = t1; + _.callback = t2; + _.errorCallback = t3; + _.$ti = t4; + }, + _Future: function _Future(t0, t1) { + var _ = this; + _._state = 0; + _._zone = t0; + _._resultOrListeners = null; + _.$ti = t1; + }, + _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { + this.$this = t0; + this.listener = t1; + }, + _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) { + this.$this = t0; + }, + _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { + this.$this = t0; + }, + _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { + this.$this = t0; + this.e = t1; + this.s = t2; + }, + _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { + this._box_0 = t0; + this._box_1 = t1; + this.hasError = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) { + this.originalSource = t0; + }, + _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { + this._box_0 = t0; + this.sourceResult = t1; + }, + _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { + this._box_1 = t0; + this._box_0 = t1; + }, + _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { + this.callback = t0; + this.next = null; + }, + Stream: function Stream() { + }, + Stream_pipe_closure: function Stream_pipe_closure(t0) { + this.streamConsumer = t0; + }, + Stream_length_closure: function Stream_length_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + Stream_length_closure0: function Stream_length_closure0(t0, t1) { + this._box_0 = t0; + this.future = t1; + }, + Stream_first_closure: function Stream_first_closure(t0) { + this.future = t0; + }, + Stream_first_closure0: function Stream_first_closure0(t0, t1, t2) { + this.$this = t0; + this.subscription = t1; + this.future = t2; + }, + Stream_firstWhere_closure: function Stream_firstWhere_closure(t0, t1, t2) { + this.$this = t0; + this.orElse = t1; + this.future = t2; + }, + Stream_firstWhere_closure0: function Stream_firstWhere_closure0(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.test = t1; + _.subscription = t2; + _.future = t3; + }, + Stream_firstWhere__closure: function Stream_firstWhere__closure(t0, t1) { + this.test = t0; + this.value = t1; + }, + Stream_firstWhere__closure0: function Stream_firstWhere__closure0(t0, t1, t2) { + this.subscription = t0; + this.future = t1; + this.value = t2; + }, + _StreamController: function _StreamController() { + }, + _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) { + this.$this = t0; + }, + _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) { + this.$this = t0; + }, + _SyncStreamControllerDispatch: function _SyncStreamControllerDispatch() { + }, + _AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() { + }, + _AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) { + var _ = this; + _._varData = null; + _._state = 0; + _._doneFuture = null; + _.onListen = t0; + _.onPause = t1; + _.onResume = t2; + _.onCancel = t3; + _.$ti = t4; + }, + _SyncStreamController: function _SyncStreamController(t0, t1, t2, t3, t4) { + var _ = this; + _._varData = null; + _._state = 0; + _._doneFuture = null; + _.onListen = t0; + _.onPause = t1; + _.onResume = t2; + _.onCancel = t3; + _.$ti = t4; + }, + _ControllerStream: function _ControllerStream(t0, t1) { + this._controller = t0; + this.$ti = t1; + }, + _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._controller = t0; + _._onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _StreamSinkWrapper: function _StreamSinkWrapper(t0, t1) { + this._async$_target = t0; + this.$ti = t1; + }, + _AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) { + this.$this = t0; + }, + _BufferingStreamSubscription: function _BufferingStreamSubscription() { + }, + _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) { + this.$this = t0; + }, + _StreamImpl: function _StreamImpl() { + }, + _DelayedEvent: function _DelayedEvent() { + }, + _DelayedData: function _DelayedData(t0, t1) { + this.value = t0; + this.next = null; + this.$ti = t1; + }, + _DelayedError: function _DelayedError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + this.next = null; + }, + _DelayedDone: function _DelayedDone() { + }, + _PendingEvents: function _PendingEvents(t0) { + var _ = this; + _._state = 0; + _.lastPendingEvent = _.firstPendingEvent = null; + _.$ti = t0; + }, + _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) { + this.$this = t0; + this.dispatch = t1; + }, + _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1, t2) { + var _ = this; + _._zone = t0; + _._state = 0; + _._onDone = t1; + _.$ti = t2; + }, + _StreamIterator: function _StreamIterator(t0, t1) { + var _ = this; + _._subscription = null; + _._stateData = t0; + _._async$_hasValue = false; + _.$ti = t1; + }, + _cancelAndError_closure: function _cancelAndError_closure(t0, t1, t2) { + this.future = t0; + this.error = t1; + this.stackTrace = t2; + }, + _cancelAndErrorClosure_closure: function _cancelAndErrorClosure_closure(t0, t1) { + this.subscription = t0; + this.future = t1; + }, + _cancelAndValue_closure: function _cancelAndValue_closure(t0, t1) { + this.future = t0; + this.value = t1; + }, + _ForwardingStream: function _ForwardingStream() { + }, + _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._stream = t0; + _._subscription = null; + _._onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _MapStream: function _MapStream(t0, t1, t2) { + this._transform = t0; + this._source = t1; + this.$ti = t2; + }, + _ZoneFunction: function _ZoneFunction(t0, t1, t2) { + this.zone = t0; + this.$function = t1; + this.$ti = t2; + }, + _ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) { + var _ = this; + _.handleUncaughtError = t0; + _.run = t1; + _.runUnary = t2; + _.runBinary = t3; + _.registerCallback = t4; + _.registerUnaryCallback = t5; + _.registerBinaryCallback = t6; + _.errorCallback = t7; + _.scheduleMicrotask = t8; + _.createTimer = t9; + _.createPeriodicTimer = t10; + _.print = t11; + _.fork = t12; + }, + _ZoneDelegate: function _ZoneDelegate(t0) { + this._delegationTarget = t0; + }, + _Zone: function _Zone() { + }, + _CustomZone: function _CustomZone(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) { + var _ = this; + _._run = t0; + _._runUnary = t1; + _._runBinary = t2; + _._registerCallback = t3; + _._registerUnaryCallback = t4; + _._registerBinaryCallback = t5; + _._errorCallback = t6; + _._scheduleMicrotask = t7; + _._createTimer = t8; + _._createPeriodicTimer = t9; + _._print = t10; + _._fork = t11; + _._handleUncaughtError = t12; + _._delegateCache = null; + _.parent = t13; + _._async$_map = t14; + }, + _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.registered = t1; + this.R = t2; + }, + _CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.registered = t1; + _.T = t2; + _.R = t3; + }, + _CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.registered = t1; + }, + _CustomZone_bindUnaryCallbackGuarded_closure: function _CustomZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) { + this.$this = t0; + this.registered = t1; + this.T = t2; + }, + _rootHandleError_closure: function _rootHandleError_closure(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _RootZone: function _RootZone() { + }, + _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.R = t2; + }, + _RootZone_bindUnaryCallback_closure: function _RootZone_bindUnaryCallback_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.f = t1; + _.T = t2; + _.R = t3; + }, + _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.f = t1; + }, + _RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.T = t2; + }, + HashMap_HashMap($K, $V) { + return new A._HashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_HashMap<1,2>")); + }, + _HashMap__getTableEntry(table, key) { + var entry = table[key]; + return entry === table ? null : entry; + }, + _HashMap__setTableEntry(table, key, value) { + if (value == null) + table[key] = table; + else + table[key] = value; + }, + _HashMap__newHashTable() { + var table = Object.create(null); + A._HashMap__setTableEntry(table, "", table); + delete table[""]; + return table; + }, + LinkedHashMap_LinkedHashMap(hashCode, isValidKey, $K, $V) { + var equals; + if (isValidKey == null) { + if (hashCode == null) + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + equals = A.collection___defaultEquals$closure(); + } else { + if (hashCode == null) + hashCode = A.collection___defaultHashCode$closure(); + equals = A.collection___defaultEquals$closure(); + } + return A._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V); + }, + LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) { + return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); + }, + LinkedHashMap_LinkedHashMap$_empty($K, $V) { + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + }, + _LinkedCustomHashMap$(_equals, _hashCode, validKey, $K, $V) { + var t1 = validKey != null ? validKey : new A._LinkedCustomHashMap_closure($K); + return new A._LinkedCustomHashMap(_equals, _hashCode, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("_LinkedCustomHashMap<1,2>")); + }, + HashSet_HashSet($E) { + return new A._HashSet($E._eval$1("_HashSet<0>")); + }, + LinkedHashSet_LinkedHashSet$_empty($E) { + return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>")); + }, + _LinkedHashSet__newHashTable() { + var table = Object.create(null); + A.assertHelper(table != null); + table[""] = table; + delete table[""]; + return table; + }, + _LinkedHashSetIterator$(_set, _modifications, $E) { + var t1 = new A._LinkedHashSetIterator(_set, _modifications, $E._eval$1("_LinkedHashSetIterator<0>")); + t1._collection$_cell = _set._collection$_first; + return t1; + }, + _defaultEquals(a, b) { + return J.$eq$(a, b); + }, + _defaultHashCode(a) { + return J.get$hashCode$(a); + }, + HashMap_HashMap$from(other, $K, $V) { + var result = A.HashMap_HashMap($K, $V); + other.forEach$1(0, new A.HashMap_HashMap$from_closure(result, $K, $V)); + return result; + }, + MapBase_mapToString(m) { + var result, t1 = {}; + if (A.isToStringVisiting(m)) + return "{...}"; + result = new A.StringBuffer(""); + try { + B.JSArray_methods.add$1($.toStringVisiting, m); + result._contents += "{"; + t1.first = true; + J.forEach$1$ax(m, new A.MapBase_mapToString_closure(t1, result)); + result._contents += "}"; + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === m); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = result._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _HashMap: function _HashMap(t0) { + var _ = this; + _._collection$_length = 0; + _._keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _.$ti = t0; + }, + _HashMap_values_closure: function _HashMap_values_closure(t0) { + this.$this = t0; + }, + _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._collection$_map = t0; + _._keys = t1; + _._offset = 0; + _._collection$_current = null; + _.$ti = t2; + }, + _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) { + var _ = this; + _._equals = t0; + _._hashCode = t1; + _._validKey = t2; + _._length = 0; + _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; + _._modifications = 0; + _.$ti = t3; + }, + _LinkedCustomHashMap_closure: function _LinkedCustomHashMap_closure(t0) { + this.K = t0; + }, + _HashSet: function _HashSet(t0) { + var _ = this; + _._collection$_length = 0; + _._elements = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _.$ti = t0; + }, + _HashSetIterator: function _HashSetIterator(t0, t1, t2) { + var _ = this; + _._set = t0; + _._elements = t1; + _._offset = 0; + _._collection$_current = null; + _.$ti = t2; + }, + _LinkedHashSet: function _LinkedHashSet(t0) { + var _ = this; + _._collection$_length = 0; + _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _._collection$_modifications = 0; + _.$ti = t0; + }, + _LinkedHashSetCell: function _LinkedHashSetCell(t0) { + this._element = t0; + this._collection$_previous = this._collection$_next = null; + }, + _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) { + var _ = this; + _._set = t0; + _._collection$_modifications = t1; + _._collection$_current = _._collection$_cell = null; + _.$ti = t2; + }, + HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0, t1, t2) { + this.result = t0; + this.K = t1; + this.V = t2; + }, + LinkedList: function LinkedList(t0) { + var _ = this; + _._collection$_length = _._modificationCount = 0; + _._collection$_first = null; + _.$ti = t0; + }, + _LinkedListIterator: function _LinkedListIterator(t0, t1, t2, t3) { + var _ = this; + _._list = t0; + _._modificationCount = t1; + _._collection$_current = null; + _._collection$_next = t2; + _._visitedFirst = false; + _.$ti = t3; + }, + LinkedListEntry: function LinkedListEntry() { + }, + ListBase: function ListBase() { + }, + MapBase: function MapBase() { + }, + MapBase_entries_closure: function MapBase_entries_closure(t0) { + this.$this = t0; + }, + MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { + this._box_0 = t0; + this.result = t1; + }, + _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1, t2) { + var _ = this; + _._keys = t0; + _._collection$_map = t1; + _._collection$_current = null; + _.$ti = t2; + }, + _UnmodifiableMapMixin: function _UnmodifiableMapMixin() { + }, + MapView: function MapView() { + }, + UnmodifiableMapView: function UnmodifiableMapView() { + }, + SetBase: function SetBase() { + }, + _SetBase: function _SetBase() { + }, + _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { + }, + Utf8Decoder__convertIntercepted(allowMalformed, codeUnits, start, end) { + var casted, result; + if (codeUnits instanceof Uint8Array) { + casted = codeUnits; + if (end == null) + end = casted.length; + if (end - start < 15) + return null; + result = A.Utf8Decoder__convertInterceptedUint8List(allowMalformed, casted, start, end); + if (result != null && allowMalformed) + if (result.indexOf("\ufffd") >= 0) + return null; + return result; + } + return null; + }, + Utf8Decoder__convertInterceptedUint8List(allowMalformed, codeUnits, start, end) { + var decoder = allowMalformed ? $.$get$Utf8Decoder__decoderNonfatal() : $.$get$Utf8Decoder__decoder(); + if (decoder == null) + return null; + if (0 === start && end === codeUnits.length) + return A.Utf8Decoder__useTextDecoder(decoder, codeUnits); + return A.Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, A.RangeError_checkValidRange(start, end, codeUnits.length))); + }, + Utf8Decoder__useTextDecoder(decoder, codeUnits) { + var t1, exception; + try { + t1 = decoder.decode(codeUnits); + return t1; + } catch (exception) { + } + return null; + }, + Base64Codec__checkPadding(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) { + if (B.JSInt_methods.$mod($length, 4) !== 0) + throw A.wrapException(A.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd)); + if (firstPadding + paddingCount !== $length) + throw A.wrapException(A.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex)); + if (paddingCount > 2) + throw A.wrapException(A.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex)); + }, + _Utf8Decoder_errorDescription(state) { + switch (state) { + case 65: + return "Missing extension byte"; + case 67: + return "Unexpected extension byte"; + case 69: + return "Invalid UTF-8 byte"; + case 71: + return "Overlong encoding"; + case 73: + return "Out of unicode range"; + case 75: + return "Encoded surrogate"; + case 77: + return "Unfinished UTF-8 octet sequence"; + default: + return ""; + } + }, + _Utf8Decoder__makeUint8List(codeUnits, start, end) { + var t1, i, b, + $length = end - start, + bytes = new Uint8Array($length); + for (t1 = J.getInterceptor$asx(codeUnits), i = 0; i < $length; ++i) { + b = t1.$index(codeUnits, start + i); + if ((b & 4294967040) >>> 0 !== 0) + b = 255; + if (!(i < $length)) + return A.ioore(bytes, i); + bytes[i] = b; + } + return bytes; + }, + Utf8Decoder__decoder_closure: function Utf8Decoder__decoder_closure() { + }, + Utf8Decoder__decoderNonfatal_closure: function Utf8Decoder__decoderNonfatal_closure() { + }, + Base64Codec: function Base64Codec() { + }, + Base64Encoder: function Base64Encoder() { + }, + Codec: function Codec() { + }, + Converter: function Converter() { + }, + Encoding: function Encoding() { + }, + Utf8Codec: function Utf8Codec() { + }, + Utf8Encoder: function Utf8Encoder() { + }, + _Utf8Encoder: function _Utf8Encoder(t0) { + this._bufferIndex = this._carry = 0; + this._buffer = t0; + }, + Utf8Decoder: function Utf8Decoder(t0) { + this._allowMalformed = t0; + }, + _Utf8Decoder: function _Utf8Decoder(t0) { + this.allowMalformed = t0; + this._convert$_state = 16; + this._charOrIndex = 0; + }, + BigInt_parse(source) { + var result = A._BigIntImpl__tryParse(source, null); + if (result == null) + A.throwExpression(A.FormatException$("Could not parse BigInt", source, null)); + return result; + }, + _BigIntImpl_parse(source, radix) { + var result = A._BigIntImpl__tryParse(source, radix); + if (result == null) + throw A.wrapException(A.FormatException$("Could not parse BigInt", source, null)); + return result; + }, + _BigIntImpl__parseDecimal(source, isNegative) { + var part, i, + result = $.$get$_BigIntImpl_zero(), + t1 = source.length, + digitInPartCount = 4 - t1 % 4; + if (digitInPartCount === 4) + digitInPartCount = 0; + for (part = 0, i = 0; i < t1; ++i) { + part = part * 10 + B.JSString_methods._codeUnitAt$1(source, i) - 48; + ++digitInPartCount; + if (digitInPartCount === 4) { + result = result.$mul(0, $.$get$_BigIntImpl__bigInt10000()).$add(0, A._BigIntImpl__BigIntImpl$_fromInt(part)); + part = 0; + digitInPartCount = 0; + } + } + if (isNegative) + return result.$negate(0); + return result; + }, + _BigIntImpl__codeUnitToRadixValue(codeUnit) { + if (48 <= codeUnit && codeUnit <= 57) + return codeUnit - 48; + return (codeUnit | 32) - 97 + 10; + }, + _BigIntImpl__parseHex(source, startPos, isNegative) { + var i, chunk, j, i0, digitValue, digitIndex, digitIndex0, + t1 = source.length, + sourceLength = t1 - startPos, + chunkCount = B.JSNumber_methods.ceil$0(sourceLength / 4), + digits = new Uint16Array(chunkCount), + t2 = chunkCount - 1, + lastDigitLength = sourceLength - t2 * 4; + for (i = startPos, chunk = 0, j = 0; j < lastDigitLength; ++j, i = i0) { + i0 = i + 1; + digitValue = A._BigIntImpl__codeUnitToRadixValue(B.JSString_methods._codeUnitAt$1(source, i)); + if (digitValue >= 16) + return null; + chunk = chunk * 16 + digitValue; + } + digitIndex = t2 - 1; + if (!(t2 >= 0 && t2 < chunkCount)) + return A.ioore(digits, t2); + digits[t2] = chunk; + for (; i < t1; digitIndex = digitIndex0) { + for (chunk = 0, j = 0; j < 4; ++j, i = i0) { + i0 = i + 1; + digitValue = A._BigIntImpl__codeUnitToRadixValue(B.JSString_methods._codeUnitAt$1(source, i)); + if (digitValue >= 16) + return null; + chunk = chunk * 16 + digitValue; + } + digitIndex0 = digitIndex - 1; + if (!(digitIndex >= 0 && digitIndex < chunkCount)) + return A.ioore(digits, digitIndex); + digits[digitIndex] = chunk; + } + if (chunkCount === 1) { + if (0 >= chunkCount) + return A.ioore(digits, 0); + t1 = digits[0] === 0; + } else + t1 = false; + if (t1) + return $.$get$_BigIntImpl_zero(); + t1 = A._BigIntImpl__normalize(chunkCount, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + }, + _BigIntImpl__tryParse(source, radix) { + var match, t1, t2, isNegative, decimalMatch, hexMatch; + if (source === "") + return null; + match = $.$get$_BigIntImpl__parseRE().firstMatch$1(source); + if (match == null) + return null; + t1 = match._match; + t2 = t1.length; + if (1 >= t2) + return A.ioore(t1, 1); + isNegative = t1[1] === "-"; + if (4 >= t2) + return A.ioore(t1, 4); + decimalMatch = t1[4]; + hexMatch = t1[3]; + if (5 >= t2) + return A.ioore(t1, 5); + if (decimalMatch != null) + return A._BigIntImpl__parseDecimal(decimalMatch, isNegative); + if (hexMatch != null) + return A._BigIntImpl__parseHex(hexMatch, 2, isNegative); + return null; + }, + _BigIntImpl__normalize(used, digits) { + var t2, + t1 = digits.length; + while (true) { + if (used > 0) { + t2 = used - 1; + if (!(t2 < t1)) + return A.ioore(digits, t2); + t2 = digits[t2] === 0; + } else + t2 = false; + if (!t2) + break; + --used; + } + return used; + }, + _BigIntImpl__cloneDigits(digits, from, to, $length) { + var t1, i, t2, + resultDigits = new Uint16Array($length), + n = to - from; + for (t1 = digits.length, i = 0; i < n; ++i) { + t2 = from + i; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(digits, t2); + t2 = digits[t2]; + if (!(i < $length)) + return A.ioore(resultDigits, i); + resultDigits[i] = t2; + } + return resultDigits; + }, + _BigIntImpl__BigIntImpl$from(value) { + var t1; + if (value === 0) + return $.$get$_BigIntImpl_zero(); + if (value === 1) + return $.$get$_BigIntImpl_one(); + if (value === 2) + return $.$get$_BigIntImpl_two(); + if (Math.abs(value) < 4294967296) + return A._BigIntImpl__BigIntImpl$_fromInt(B.JSInt_methods.toInt$0(value)); + t1 = A._BigIntImpl__BigIntImpl$_fromDouble(value); + return t1; + }, + _BigIntImpl__BigIntImpl$_fromInt(value) { + var digits, t1, i, i0, + isNegative = value < 0; + if (isNegative) { + if (value === -9223372036854776e3) { + digits = new Uint16Array(4); + digits[3] = 32768; + t1 = A._BigIntImpl__normalize(4, digits); + return new A._BigIntImpl(t1 !== 0 || false, digits, t1); + } + value = -value; + } + if (value < 65536) { + digits = new Uint16Array(1); + digits[0] = value; + t1 = A._BigIntImpl__normalize(1, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + } + if (value <= 4294967295) { + digits = new Uint16Array(2); + digits[0] = value & 65535; + digits[1] = B.JSInt_methods._shrOtherPositive$1(value, 16); + t1 = A._BigIntImpl__normalize(2, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + } + t1 = B.JSInt_methods._tdivFast$1(B.JSInt_methods.get$bitLength(value) - 1, 16) + 1; + digits = new Uint16Array(t1); + for (i = 0; value !== 0; i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(digits, i); + digits[i] = value & 65535; + value = B.JSInt_methods._tdivFast$1(value, 65536); + } + t1 = A._BigIntImpl__normalize(t1, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + }, + _BigIntImpl__BigIntImpl$_fromDouble(value) { + var isNegative, bits, i, t1, t2, exponent, unshiftedDigits, unshiftedBig, absResult; + if (isNaN(value) || value == 1 / 0 || value == -1 / 0) + throw A.wrapException(A.ArgumentError$("Value must be finite: " + value, null)); + isNegative = value < 0; + if (isNegative) + value = -value; + value = Math.floor(value); + if (value === 0) + return $.$get$_BigIntImpl_zero(); + bits = $.$get$_BigIntImpl__bitsForFromDouble(); + for (i = 0; i < 8; ++i) + bits[i] = 0; + t1 = bits.buffer; + A._checkViewArguments(t1, 0, null); + t1 = new DataView(t1, 0); + B.NativeByteData_methods._setFloat64$3(t1, 0, value, true); + t1 = bits[7]; + t2 = bits[6]; + exponent = (t1 << 4 >>> 0) + (t2 >>> 4) - 1075; + unshiftedDigits = new Uint16Array(4); + unshiftedDigits[0] = (bits[1] << 8 >>> 0) + bits[0]; + unshiftedDigits[1] = (bits[3] << 8 >>> 0) + bits[2]; + unshiftedDigits[2] = (bits[5] << 8 >>> 0) + bits[4]; + unshiftedDigits[3] = t2 & 15 | 16; + unshiftedBig = new A._BigIntImpl(false, unshiftedDigits, 4); + if (exponent < 0) + absResult = unshiftedBig.$shr(0, -exponent); + else + absResult = exponent > 0 ? unshiftedBig.$shl(0, exponent) : unshiftedBig; + if (isNegative) + return absResult.$negate(0); + return absResult; + }, + _BigIntImpl__dlShiftDigits(xDigits, xUsed, n, resultDigits) { + var i, t1, t2, t3, t4; + if (xUsed === 0) + return 0; + if (n === 0 && resultDigits === xDigits) + return xUsed; + for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.length; i >= 0; --i) { + t3 = i + n; + if (!(i < t1)) + return A.ioore(xDigits, i); + t4 = xDigits[i]; + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(resultDigits, t3); + resultDigits[t3] = t4; + } + for (i = n - 1; i >= 0; --i) { + if (!(i < t2)) + return A.ioore(resultDigits, i); + resultDigits[i] = 0; + } + return xUsed + n; + }, + _BigIntImpl__lsh(xDigits, xUsed, n, resultDigits) { + var digitShift, bitShift, carryBitShift, bitMask, i, t1, t2, carry, digit, t3, t4; + A.assertHelper(xUsed > 0); + digitShift = B.JSInt_methods._tdivFast$1(n, 16); + bitShift = B.JSInt_methods.$mod(n, 16); + carryBitShift = 16 - bitShift; + bitMask = B.JSInt_methods.$shl(1, carryBitShift) - 1; + for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.length, carry = 0; i >= 0; --i) { + if (!(i < t1)) + return A.ioore(xDigits, i); + digit = xDigits[i]; + t3 = i + digitShift + 1; + t4 = B.JSInt_methods.$shr(digit, carryBitShift); + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(resultDigits, t3); + resultDigits[t3] = (t4 | carry) >>> 0; + carry = B.JSInt_methods.$shl((digit & bitMask) >>> 0, bitShift); + } + if (!(digitShift >= 0 && digitShift < t2)) + return A.ioore(resultDigits, digitShift); + resultDigits[digitShift] = carry; + }, + _BigIntImpl__lShiftDigits(xDigits, xUsed, n, resultDigits) { + var resultUsed, t1, i, t2, + digitsShift = B.JSInt_methods._tdivFast$1(n, 16); + if (B.JSInt_methods.$mod(n, 16) === 0) + return A._BigIntImpl__dlShiftDigits(xDigits, xUsed, digitsShift, resultDigits); + resultUsed = xUsed + digitsShift + 1; + A._BigIntImpl__lsh(xDigits, xUsed, n, resultDigits); + for (t1 = resultDigits.length, i = digitsShift; --i, i >= 0;) { + if (!(i < t1)) + return A.ioore(resultDigits, i); + resultDigits[i] = 0; + } + t2 = resultUsed - 1; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(resultDigits, t2); + if (resultDigits[t2] === 0) + resultUsed = t2; + return resultUsed; + }, + _BigIntImpl__rsh(xDigits, xUsed, n, resultDigits) { + var digitsShift, bitShift, carryBitShift, bitMask, t1, carry, last, t2, i, t3, digit; + A.assertHelper(xUsed > 0); + digitsShift = B.JSInt_methods._tdivFast$1(n, 16); + bitShift = B.JSInt_methods.$mod(n, 16); + carryBitShift = 16 - bitShift; + bitMask = B.JSInt_methods.$shl(1, bitShift) - 1; + t1 = xDigits.length; + if (!(digitsShift >= 0 && digitsShift < t1)) + return A.ioore(xDigits, digitsShift); + carry = B.JSInt_methods.$shr(xDigits[digitsShift], bitShift); + last = xUsed - digitsShift - 1; + for (t2 = resultDigits.length, i = 0; i < last; ++i) { + t3 = i + digitsShift + 1; + if (!(t3 < t1)) + return A.ioore(xDigits, t3); + digit = xDigits[t3]; + t3 = B.JSInt_methods.$shl((digit & bitMask) >>> 0, carryBitShift); + if (!(i < t2)) + return A.ioore(resultDigits, i); + resultDigits[i] = (t3 | carry) >>> 0; + carry = B.JSInt_methods.$shr(digit, bitShift); + } + if (!(last >= 0 && last < t2)) + return A.ioore(resultDigits, last); + resultDigits[last] = carry; + }, + _BigIntImpl__compareDigits(digits, used, otherDigits, otherUsed) { + var i, t1, t2, t3, + result = used - otherUsed; + if (result === 0) + for (i = used - 1, t1 = digits.length, t2 = otherDigits.length; i >= 0; --i) { + if (!(i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + result = t3 - otherDigits[i]; + if (result !== 0) + return result; + } + return result; + }, + _BigIntImpl__absAdd(digits, used, otherDigits, otherUsed, resultDigits) { + var t1, t2, t3, carry, i, t4; + A.assertHelper(used >= otherUsed && otherUsed > 0); + for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + t4 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + carry += t4 + otherDigits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); + } + for (i = otherUsed; i < used; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + carry += digits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); + } + if (!(used >= 0 && used < t3)) + return A.ioore(resultDigits, used); + resultDigits[used] = carry; + }, + _BigIntImpl__absSub(digits, used, otherDigits, otherUsed, resultDigits) { + var t1, t2, t3, carry, i, t4; + A.assertHelper(used >= otherUsed && otherUsed > 0); + for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + t4 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + carry += t4 - otherDigits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1); + } + for (i = otherUsed; i < used; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + carry += digits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1); + } + }, + _BigIntImpl__mulAdd(x, multiplicandDigits, i, accumulatorDigits, j, n) { + var t1, t2, c, i0, t3, combined, j0, l; + if (x === 0) + return; + for (t1 = multiplicandDigits.length, t2 = accumulatorDigits.length, c = 0; --n, n >= 0; j = j0, i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(multiplicandDigits, i); + t3 = multiplicandDigits[i]; + if (!(j >= 0 && j < t2)) + return A.ioore(accumulatorDigits, j); + combined = x * t3 + accumulatorDigits[j] + c; + j0 = j + 1; + accumulatorDigits[j] = combined & 65535; + c = B.JSInt_methods._tdivFast$1(combined, 65536); + } + for (; c !== 0; j = j0) { + if (!(j >= 0 && j < t2)) + return A.ioore(accumulatorDigits, j); + l = accumulatorDigits[j] + c; + j0 = j + 1; + accumulatorDigits[j] = l & 65535; + c = B.JSInt_methods._tdivFast$1(l, 65536); + } + }, + _BigIntImpl__estimateQuotientDigit(topDigitDivisor, digits, i) { + var t2, t3, quotientDigit, + t1 = digits.length; + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + t2 = digits[i]; + if (t2 === topDigitDivisor) + return 65535; + t3 = i - 1; + if (!(t3 >= 0 && t3 < t1)) + return A.ioore(digits, t3); + quotientDigit = B.JSInt_methods.$tdiv((t2 << 16 | digits[t3]) >>> 0, topDigitDivisor); + if (quotientDigit > 65535) + return 65535; + return quotientDigit; + }, + int_parse(source, radix) { + var value = A.Primitives_parseInt(source, radix); + if (value != null) + return value; + throw A.wrapException(A.FormatException$(source, null, null)); + }, + Error__throw(error, stackTrace) { + error = A.wrapException(error); + if (error == null) + error = type$.Object._as(error); + error.stack = stackTrace.toString$0(0); + throw error; + throw A.wrapException("unreachable"); + }, + List_List$filled($length, fill, growable, $E) { + var i, + result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E); + if ($length !== 0 && fill != null) + for (i = 0; i < result.length; ++i) + result[i] = fill; + return result; + }, + List_List$from(elements, growable, $E) { + var t1, + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, $E._as(t1.get$current(t1))); + if (growable) + return list; + return J.JSArray_markFixedList(list, $E); + }, + List_List$of(elements, growable, $E) { + var t1; + if (growable) + return A.List_List$_of(elements, $E); + t1 = J.JSArray_markFixedList(A.List_List$_of(elements, $E), $E); + return t1; + }, + List_List$_of(elements, $E) { + var list, t1; + if (Array.isArray(elements)) + return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>")); + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, t1.get$current(t1)); + return list; + }, + List_List$unmodifiable(elements, $E) { + return J.JSArray_markUnmodifiableList(A.List_List$from(elements, false, $E)); + }, + String_String$fromCharCodes(charCodes, start, end) { + var array, len; + if (Array.isArray(charCodes)) { + array = charCodes; + len = array.length; + end = A.RangeError_checkValidRange(start, end, len); + return A.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array); + } + if (type$.NativeUint8List._is(charCodes)) + return A.Primitives_stringFromNativeUint8List(charCodes, start, A.RangeError_checkValidRange(start, end, charCodes.length)); + return A.String__stringFromIterable(charCodes, start, end); + }, + String_String$fromCharCode(charCode) { + return A.Primitives_stringFromCharCode(charCode); + }, + String__stringFromIterable(charCodes, start, end) { + var t1, it, i, list, _null = null; + if (start < 0) + throw A.wrapException(A.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null)); + t1 = end == null; + if (!t1 && end < start) + throw A.wrapException(A.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 A.wrapException(A.RangeError$range(start, 0, i, _null, _null)); + list = []; + if (t1) + for (; it.moveNext$0();) + list.push(it.get$current(it)); + else + for (i = start; i < end; ++i) { + if (!it.moveNext$0()) + throw A.wrapException(A.RangeError$range(end, start, i, _null, _null)); + list.push(it.get$current(it)); + } + return A.Primitives_stringFromCharCodes(list); + }, + RegExp_RegExp(source, caseSensitive, dotAll, multiLine, unicode) { + return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, false)); + }, + StringBuffer__writeAll(string, objects, separator) { + var iterator = J.get$iterator$ax(objects); + if (!iterator.moveNext$0()) + return string; + if (separator.length === 0) { + do + string += A.S(iterator.get$current(iterator)); + while (iterator.moveNext$0()); + } else { + string += A.S(iterator.get$current(iterator)); + for (; iterator.moveNext$0();) + string = string + separator + A.S(iterator.get$current(iterator)); + } + return string; + }, + NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation) { + return new A.NoSuchMethodError(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()); + }, + Uri_base() { + var uri = A.Primitives_currentUri(); + if (uri != null) + return A.Uri_parse(uri); + throw A.wrapException(A.UnsupportedError$("'Uri.base' is not supported")); + }, + StackTrace_current() { + var stackTrace, exception; + if (A.boolConversionCheck($.$get$_hasErrorStackProperty())) + return A.getTraceFromException(new Error()); + try { + throw A.wrapException(""); + } catch (exception) { + stackTrace = A.getTraceFromException(exception); + return stackTrace; + } + }, + DateTime__fourDigits(n) { + var absN = Math.abs(n), + sign = n < 0 ? "-" : ""; + if (absN >= 1000) + return "" + n; + if (absN >= 100) + return sign + "0" + absN; + if (absN >= 10) + return sign + "00" + absN; + return sign + "000" + absN; + }, + DateTime__threeDigits(n) { + if (n >= 100) + return "" + n; + if (n >= 10) + return "0" + n; + return "00" + n; + }, + DateTime__twoDigits(n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + EnumByName_byName(_this, $name, $T) { + var _i, value; + for (_i = 0; _i < 3; ++_i) { + value = _this[_i]; + if (value._name === $name) + return value; + } + throw A.wrapException(A.ArgumentError$value($name, "name", "No enum value with that name")); + }, + Error_safeToString(object) { + if (typeof object == "number" || A._isBool(object) || object == null) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + return A.Primitives_safeToString(object); + }, + AssertionError$(message) { + return new A.AssertionError(message); + }, + ArgumentError$(message, $name) { + return new A.ArgumentError(false, null, $name, message); + }, + ArgumentError$value(value, $name, message) { + return new A.ArgumentError(true, value, $name, message); + }, + ArgumentError_checkNotNull(argument, $name, $T) { + return argument; + }, + RangeError$value(value, $name) { + return new A.RangeError(null, null, true, value, $name, "Value not in range"); + }, + RangeError$range(invalidValue, minValue, maxValue, $name, message) { + return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); + }, + RangeError_checkValidRange(start, end, $length) { + if (0 > start || start > $length) + throw A.wrapException(A.RangeError$range(start, 0, $length, "start", null)); + if (end != null) { + if (start > end || end > $length) + throw A.wrapException(A.RangeError$range(end, start, $length, "end", null)); + return end; + } + return $length; + }, + RangeError_checkNotNegative(value, $name) { + if (value < 0) + throw A.wrapException(A.RangeError$range(value, 0, null, $name, null)); + return value; + }, + IndexError$withLength(invalidValue, $length, indexable, message, $name) { + return new A.IndexError($length, true, invalidValue, $name, "Index out of range"); + }, + UnsupportedError$(message) { + return new A.UnsupportedError(message); + }, + UnimplementedError$(message) { + return new A.UnimplementedError(message); + }, + StateError$(message) { + return new A.StateError(message); + }, + ConcurrentModificationError$(modifiedObject) { + return new A.ConcurrentModificationError(modifiedObject); + }, + Exception_Exception(message) { + return new A._Exception(message); + }, + FormatException$(message, source, offset) { + return new A.FormatException(message, source, offset); + }, + Iterable_iterableToShortString(iterable, leftDelimiter, rightDelimiter) { + var parts, t1; + if (A.isToStringVisiting(iterable)) { + if (leftDelimiter === "(" && rightDelimiter === ")") + return "(...)"; + return leftDelimiter + "..." + rightDelimiter; + } + parts = A._setArrayType([], type$.JSArray_String); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + A._iterablePartsToStrings(iterable, parts); + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === iterable); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = A.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) { + var buffer, t1; + if (A.isToStringVisiting(iterable)) + return leftDelimiter + "..." + rightDelimiter; + buffer = new A.StringBuffer(leftDelimiter); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + t1 = buffer; + t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", "); + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === iterable); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + buffer._contents += rightDelimiter; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _iterablePartsToStrings(iterable, parts) { + var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, + it = iterable.get$iterator(iterable), + $length = 0, count = 0; + while (true) { + if (!($length < 80 || count < 3)) + break; + if (!it.moveNext$0()) + return; + next = A.S(it.get$current(it)); + B.JSArray_methods.add$1(parts, next); + $length += next.length + 2; + ++count; + } + if (!it.moveNext$0()) { + if (count <= 5) + return; + if (0 >= parts.length) + return A.ioore(parts, -1); + ultimateString = parts.pop(); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + } else { + penultimate = it.get$current(it); + ++count; + if (!it.moveNext$0()) { + if (count <= 4) { + B.JSArray_methods.add$1(parts, A.S(penultimate)); + return; + } + ultimateString = A.S(penultimate); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + $length += ultimateString.length + 2; + } else { + ultimate = it.get$current(it); + ++count; + A.assertHelper(count < 100); + for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { + ultimate0 = it.get$current(it); + ++count; + if (count > 100) { + while (true) { + if (!($length > 75 && count > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + --count; + } + B.JSArray_methods.add$1(parts, "..."); + return; + } + } + penultimateString = A.S(penultimate); + ultimateString = A.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 A.ioore(parts, -1); + $length -= parts.pop().length + 2; + if (elision == null) { + $length += 5; + elision = "..."; + } + } + if (elision != null) + B.JSArray_methods.add$1(parts, elision); + B.JSArray_methods.add$1(parts, penultimateString); + B.JSArray_methods.add$1(parts, ultimateString); + }, + Object_hash(object1, object2, object3, object4) { + var t1, t2; + if (B.C_SentinelValue === object3) { + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2)); + } + if (B.C_SentinelValue === object4) { + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + object3 = J.get$hashCode$(object3); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3)); + } + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + object3 = J.get$hashCode$(object3); + object4 = J.get$hashCode$(object4); + t2 = $.$get$_hashSeed(); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(t2, t1), object2), object3), object4)); + }, + print(object) { + var line = A.S(object), + toZone = $.printToZone; + if (toZone == null) + A.printString(line); + else + toZone.call$1(line); + }, + Uri_parse(uri) { + var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null, + end = uri.length; + if (end >= 5) { + delta = ((B.JSString_methods._codeUnitAt$1(uri, 4) ^ 58) * 3 | B.JSString_methods._codeUnitAt$1(uri, 0) ^ 100 | B.JSString_methods._codeUnitAt$1(uri, 1) ^ 97 | B.JSString_methods._codeUnitAt$1(uri, 2) ^ 116 | B.JSString_methods._codeUnitAt$1(uri, 3) ^ 97) >>> 0; + if (delta === 0) + return A.UriData__parse(end < end ? B.JSString_methods.substring$2(uri, 0, end) : uri, 5, _null).get$uri(); + else if (delta === 32) + return A.UriData__parse(B.JSString_methods.substring$2(uri, 5, end), 0, _null).get$uri(); + } + indices = A.List_List$filled(8, 0, false, type$.int); + B.JSArray_methods.$indexSet(indices, 0, 0); + B.JSArray_methods.$indexSet(indices, 1, -1); + B.JSArray_methods.$indexSet(indices, 2, -1); + B.JSArray_methods.$indexSet(indices, 7, -1); + B.JSArray_methods.$indexSet(indices, 3, 0); + B.JSArray_methods.$indexSet(indices, 4, 0); + B.JSArray_methods.$indexSet(indices, 5, end); + B.JSArray_methods.$indexSet(indices, 6, end); + if (A._scan(uri, 0, end, 0, indices) >= 14) + B.JSArray_methods.$indexSet(indices, 7, end); + schemeEnd = indices[1]; + if (schemeEnd >= 0) + if (A._scan(uri, 0, schemeEnd, 20, indices) === 20) + indices[7] = schemeEnd; + hostStart = indices[2] + 1; + portStart = indices[3]; + pathStart = indices[4]; + queryStart = indices[5]; + fragmentStart = indices[6]; + if (fragmentStart < queryStart) + queryStart = fragmentStart; + if (pathStart < hostStart) + pathStart = queryStart; + else if (pathStart <= schemeEnd) + pathStart = schemeEnd + 1; + if (portStart < hostStart) + portStart = pathStart; + A.assertHelper(hostStart === 0 || schemeEnd <= hostStart); + A.assertHelper(hostStart <= portStart); + A.assertHelper(schemeEnd <= pathStart); + A.assertHelper(portStart <= pathStart); + A.assertHelper(pathStart <= queryStart); + A.assertHelper(queryStart <= fragmentStart); + isSimple = indices[7] < 0; + if (isSimple) + if (hostStart > schemeEnd + 3) { + scheme = _null; + isSimple = false; + } else { + t1 = portStart > 0; + if (t1 && portStart + 1 === pathStart) { + scheme = _null; + isSimple = false; + } else { + if (!B.JSString_methods.startsWith$2(uri, "\\", pathStart)) + if (hostStart > 0) + t2 = B.JSString_methods.startsWith$2(uri, "\\", hostStart - 1) || B.JSString_methods.startsWith$2(uri, "\\", hostStart - 2); + else + t2 = false; + else + t2 = true; + if (t2) { + scheme = _null; + isSimple = false; + } else { + if (!(queryStart < end && queryStart === pathStart + 2 && B.JSString_methods.startsWith$2(uri, "..", pathStart))) + t2 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3); + else + t2 = true; + if (t2) { + scheme = _null; + isSimple = false; + } else { + if (schemeEnd === 4) + if (B.JSString_methods.startsWith$2(uri, "file", 0)) { + if (hostStart <= 0) { + if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) { + schemeAuth = "file:///"; + delta = 3; + } else { + schemeAuth = "file://"; + delta = 2; + } + uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end); + schemeEnd -= 0; + t1 = delta - 0; + queryStart += t1; + fragmentStart += t1; + end = uri.length; + hostStart = 7; + portStart = 7; + pathStart = 7; + } else if (pathStart === queryStart) { + ++fragmentStart; + queryStart0 = queryStart + 1; + uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); + ++end; + queryStart = queryStart0; + } + scheme = "file"; + } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) { + if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) { + fragmentStart -= 3; + pathStart0 = pathStart - 3; + queryStart -= 3; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "http"; + } else + scheme = _null; + else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) { + if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) { + fragmentStart -= 4; + pathStart0 = pathStart - 4; + queryStart -= 4; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "https"; + } else + scheme = _null; + isSimple = true; + } + } + } + } + else + scheme = _null; + if (isSimple) { + if (end < uri.length) { + uri = B.JSString_methods.substring$2(uri, 0, end); + schemeEnd -= 0; + hostStart -= 0; + portStart -= 0; + pathStart -= 0; + queryStart -= 0; + fragmentStart -= 0; + } + return new A._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); + } + if (scheme == null) + if (schemeEnd > 0) + scheme = A._Uri__makeScheme(uri, 0, schemeEnd); + else { + if (schemeEnd === 0) + A._Uri__fail(uri, 0, "Invalid empty scheme"); + scheme = ""; + } + if (hostStart > 0) { + userInfoStart = schemeEnd + 3; + userInfo = userInfoStart < hostStart ? A._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : ""; + host = A._Uri__makeHost(uri, hostStart, portStart, false); + t1 = portStart + 1; + if (t1 < pathStart) { + portNumber = A.Primitives_parseInt(B.JSString_methods.substring$2(uri, t1, pathStart), _null); + port = A._Uri__makePort(portNumber == null ? A.throwExpression(A.FormatException$("Invalid port", uri, t1)) : portNumber, scheme); + } else + port = _null; + } else { + port = _null; + host = port; + userInfo = ""; + } + path = A._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null); + query = queryStart < fragmentStart ? A._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null; + return A._Uri$_internal(scheme, userInfo, host, port, path, query, fragmentStart < end ? A._Uri__makeFragment(uri, fragmentStart + 1, end) : _null); + }, + Uri_decodeComponent(encodedComponent) { + A._asString(encodedComponent); + return A._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, B.C_Utf8Codec, false); + }, + Uri__parseIPv4Address(host, start, end) { + var i, partStart, partIndex, char, part, partIndex0, + _s43_ = "IPv4 address should contain exactly 4 parts", + _s37_ = "each part must be in the range 0..255", + error = new A.Uri__parseIPv4Address_error(host), + result = new Uint8Array(4); + for (i = start, partStart = i, partIndex = 0; i < end; ++i) { + char = B.JSString_methods.codeUnitAt$1(host, i); + if (char !== 46) { + if ((char ^ 48) > 9) + error.call$2("invalid character", i); + } else { + if (partIndex === 3) + error.call$2(_s43_, i); + part = A.int_parse(B.JSString_methods.substring$2(host, partStart, i), null); + if (part > 255) + error.call$2(_s37_, partStart); + partIndex0 = partIndex + 1; + if (!(partIndex < 4)) + return A.ioore(result, partIndex); + result[partIndex] = part; + partStart = i + 1; + partIndex = partIndex0; + } + } + if (partIndex !== 3) + error.call$2(_s43_, end); + part = A.int_parse(B.JSString_methods.substring$2(host, partStart, end), null); + if (part > 255) + error.call$2(_s37_, partStart); + if (!(partIndex < 4)) + return A.ioore(result, partIndex); + result[partIndex] = part; + return result; + }, + Uri_parseIPv6Address(host, start, end) { + var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j, t2, _null = null, + error = new A.Uri_parseIPv6Address_error(host), + parseHex = new A.Uri_parseIPv6Address_parseHex(error, host); + if (host.length < 2) + error.call$2("address is too short", _null); + parts = A._setArrayType([], type$.JSArray_int); + for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) { + char = B.JSString_methods.codeUnitAt$1(host, i); + if (char === 58) { + if (i === start) { + ++i; + if (B.JSString_methods.codeUnitAt$1(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); + B.JSArray_methods.add$1(parts, -1); + wildcardSeen = true; + } else + B.JSArray_methods.add$1(parts, parseHex.call$2(partStart, i)); + partStart = i + 1; + } else if (char === 46) + seenDot = true; + } + if (parts.length === 0) + error.call$2("too few parts", _null); + atEnd = partStart === end; + t1 = B.JSArray_methods.get$last(parts); + if (atEnd && t1 !== -1) + error.call$2("expected a part after last `:`", end); + if (!atEnd) + if (!seenDot) + B.JSArray_methods.add$1(parts, parseHex.call$2(partStart, end)); + else { + last = A.Uri__parseIPv4Address(host, partStart, end); + B.JSArray_methods.add$1(parts, (last[0] << 8 | last[1]) >>> 0); + B.JSArray_methods.add$1(parts, (last[2] << 8 | last[3]) >>> 0); + } + if (wildcardSeen) { + if (parts.length > 7) + error.call$2("an address with a wildcard must have less than 7 parts", _null); + } else if (parts.length !== 8) + error.call$2("an address without a wildcard must contain exactly 8 parts", _null); + bytes = new Uint8Array(16); + for (t1 = parts.length, wildCardLength = 9 - t1, i = 0, index = 0; i < t1; ++i) { + value = parts[i]; + if (value === -1) + for (j = 0; j < wildCardLength; ++j) { + if (!(index >= 0 && index < 16)) + return A.ioore(bytes, index); + bytes[index] = 0; + t2 = index + 1; + if (!(t2 < 16)) + return A.ioore(bytes, t2); + bytes[t2] = 0; + index += 2; + } + else { + t2 = B.JSInt_methods._shrOtherPositive$1(value, 8); + if (!(index >= 0 && index < 16)) + return A.ioore(bytes, index); + bytes[index] = t2; + t2 = index + 1; + if (!(t2 < 16)) + return A.ioore(bytes, t2); + bytes[t2] = value & 255; + index += 2; + } + } + return bytes; + }, + _Uri$_internal(scheme, _userInfo, _host, _port, path, _query, _fragment) { + return new A._Uri(scheme, _userInfo, _host, _port, path, _query, _fragment); + }, + _Uri__defaultPort(scheme) { + if (scheme === "http") + return 80; + if (scheme === "https") + return 443; + return 0; + }, + _Uri__fail(uri, index, message) { + throw A.wrapException(A.FormatException$(message, uri, index)); + }, + _Uri__checkNonWindowsPathReservedCharacters(segments, argumentError) { + var t1, _i, segment; + for (t1 = segments.length, _i = 0; _i < t1; ++_i) { + segment = segments[_i]; + if (J.contains$1$asx(segment, "/")) { + t1 = A.UnsupportedError$("Illegal path character " + A.S(segment)); + throw A.wrapException(t1); + } + } + }, + _Uri__checkWindowsPathReservedCharacters(segments, argumentError, firstSegment) { + var t1, t2, t3; + for (t1 = A.SubListIterable$(segments, firstSegment, null, A._arrayInstanceType(segments)._precomputed1), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t3 = t1.__internal$_current; + if (t3 == null) + t3 = t2._as(t3); + if (B.JSString_methods.contains$1(t3, A.RegExp_RegExp('["*/:<>?\\\\|]', true, false, false, false))) { + t1 = A.UnsupportedError$("Illegal character in path: " + t3); + throw A.wrapException(t1); + } + } + }, + _Uri__checkWindowsDriveLetter(charCode, argumentError) { + var t1; + if (!(65 <= charCode && charCode <= 90)) + t1 = 97 <= charCode && charCode <= 122; + else + t1 = true; + if (t1) + return; + t1 = A.UnsupportedError$("Illegal drive letter " + A.String_String$fromCharCode(charCode)); + throw A.wrapException(t1); + }, + _Uri__makePort(port, scheme) { + if (port != null && port === A._Uri__defaultPort(scheme)) + return null; + return port; + }, + _Uri__makeHost(host, start, end, strictIPv6) { + var t1, t2, index, zoneIDstart, zoneID, i; + if (host == null) + return null; + if (start === end) + return ""; + if (B.JSString_methods.codeUnitAt$1(host, start) === 91) { + t1 = end - 1; + if (B.JSString_methods.codeUnitAt$1(host, t1) !== 93) + A._Uri__fail(host, start, "Missing end `]` to match `[` in host"); + t2 = start + 1; + index = A._Uri__checkZoneID(host, t2, t1); + if (index < t1) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t1, "%25"); + } else + zoneID = ""; + A.Uri_parseIPv6Address(host, t2, index); + return B.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]"; + } + for (i = start; i < end; ++i) + if (B.JSString_methods.codeUnitAt$1(host, i) === 58) { + index = B.JSString_methods.indexOf$2(host, "%", start); + index = index >= start && index < end ? index : end; + if (index < end) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, end, "%25"); + } else + zoneID = ""; + A.Uri_parseIPv6Address(host, start, index); + return "[" + B.JSString_methods.substring$2(host, start, index) + zoneID + "]"; + } + return A._Uri__normalizeRegName(host, start, end); + }, + _Uri__checkZoneID(host, start, end) { + var index = B.JSString_methods.indexOf$2(host, "%", start); + return index >= start && index < end ? index : end; + }, + _Uri__normalizeZoneID(host, start, end, prefix) { + var index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength, slice, + buffer = prefix !== "" ? new A.StringBuffer(prefix) : null; + for (index = start, sectionStart = index, isNormalized = true; index < end;) { + char = B.JSString_methods.codeUnitAt$1(host, index); + if (char === 37) { + replacement = A._Uri__normalizeEscape(host, index, true); + t1 = replacement == null; + if (t1 && isNormalized) { + index += 3; + continue; + } + if (buffer == null) + buffer = new A.StringBuffer(""); + t2 = buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + if (t1) + replacement = B.JSString_methods.substring$2(host, index, index + 3); + else if (replacement === "%") + A._Uri__fail(host, index, "ZoneID should not contain % anymore"); + buffer._contents = t2 + replacement; + index += 3; + sectionStart = index; + isNormalized = true; + } else { + if (char < 127) { + t1 = char >>> 4; + if (!(t1 < 8)) + return A.ioore(B.List_M1A, t1); + t1 = (B.List_M1A[t1] & 1 << (char & 15)) !== 0; + } else + t1 = false; + if (t1) { + if (isNormalized && 65 <= char && 90 >= char) { + if (buffer == null) + buffer = new A.StringBuffer(""); + if (sectionStart < index) { + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + sectionStart = index; + } + isNormalized = false; + } + ++index; + } else { + if ((char & 64512) === 55296 && index + 1 < end) { + tail = B.JSString_methods.codeUnitAt$1(host, index + 1); + if ((tail & 64512) === 56320) { + char = (char & 1023) << 10 | tail & 1023 | 65536; + sourceLength = 2; + } else + sourceLength = 1; + } else + sourceLength = 1; + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (buffer == null) { + buffer = new A.StringBuffer(""); + t1 = buffer; + } else + t1 = buffer; + t1._contents += slice; + t1._contents += A._Uri__escapeChar(char); + index += sourceLength; + sectionStart = index; + } + } + } + if (buffer == null) + return B.JSString_methods.substring$2(host, start, end); + if (sectionStart < end) + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, end); + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__normalizeRegName(host, start, end) { + var index, sectionStart, buffer, isNormalized, char, replacement, t1, slice, t2, sourceLength, tail; + for (index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) { + char = B.JSString_methods.codeUnitAt$1(host, index); + if (char === 37) { + replacement = A._Uri__normalizeEscape(host, index, true); + t1 = replacement == null; + if (t1 && isNormalized) { + index += 3; + continue; + } + if (buffer == null) + buffer = new A.StringBuffer(""); + slice = B.JSString_methods.substring$2(host, sectionStart, index); + t2 = buffer._contents += !isNormalized ? slice.toLowerCase() : slice; + if (t1) { + replacement = B.JSString_methods.substring$2(host, index, index + 3); + sourceLength = 3; + } else if (replacement === "%") { + replacement = "%25"; + sourceLength = 1; + } else + sourceLength = 3; + buffer._contents = t2 + replacement; + index += sourceLength; + sectionStart = index; + isNormalized = true; + } else { + if (char < 127) { + t1 = char >>> 4; + if (!(t1 < 8)) + return A.ioore(B.List_ejq, t1); + t1 = (B.List_ejq[t1] & 1 << (char & 15)) !== 0; + } else + t1 = false; + if (t1) { + if (isNormalized && 65 <= char && 90 >= char) { + if (buffer == null) + buffer = new A.StringBuffer(""); + if (sectionStart < index) { + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + sectionStart = index; + } + isNormalized = false; + } + ++index; + } else { + if (char <= 93) { + t1 = char >>> 4; + if (!(t1 < 8)) + return A.ioore(B.List_YmH, t1); + t1 = (B.List_YmH[t1] & 1 << (char & 15)) !== 0; + } else + t1 = false; + if (t1) + A._Uri__fail(host, index, "Invalid character"); + else { + if ((char & 64512) === 55296 && index + 1 < end) { + tail = B.JSString_methods.codeUnitAt$1(host, index + 1); + if ((tail & 64512) === 56320) { + char = (char & 1023) << 10 | tail & 1023 | 65536; + sourceLength = 2; + } else + sourceLength = 1; + } else + sourceLength = 1; + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (!isNormalized) + slice = slice.toLowerCase(); + if (buffer == null) { + buffer = new A.StringBuffer(""); + t1 = buffer; + } else + t1 = buffer; + t1._contents += slice; + t1._contents += A._Uri__escapeChar(char); + index += sourceLength; + sectionStart = index; + } + } + } + } + if (buffer == null) + return B.JSString_methods.substring$2(host, start, end); + if (sectionStart < end) { + slice = B.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(scheme, start, end) { + var i, containsUpperCase, codeUnit, t1; + if (start === end) + return ""; + if (!A._Uri__isAlphabeticCharacter(B.JSString_methods._codeUnitAt$1(scheme, start))) + A._Uri__fail(scheme, start, "Scheme not starting with alphabetic character"); + for (i = start, containsUpperCase = false; i < end; ++i) { + codeUnit = B.JSString_methods._codeUnitAt$1(scheme, i); + if (codeUnit < 128) { + t1 = codeUnit >>> 4; + if (!(t1 < 8)) + return A.ioore(B.List_MMm, t1); + t1 = (B.List_MMm[t1] & 1 << (codeUnit & 15)) !== 0; + } else + t1 = false; + if (!t1) + A._Uri__fail(scheme, i, "Illegal scheme character"); + if (65 <= codeUnit && codeUnit <= 90) + containsUpperCase = true; + } + scheme = B.JSString_methods.substring$2(scheme, start, end); + return A._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme); + }, + _Uri__canonicalizeScheme(scheme) { + if (scheme === "http") + return "http"; + if (scheme === "file") + return "file"; + if (scheme === "https") + return "https"; + if (scheme === "package") + return "package"; + return scheme; + }, + _Uri__makeUserInfo(userInfo, start, end) { + if (userInfo == null) + return ""; + return A._Uri__normalizeOrSubstring(userInfo, start, end, B.List_OL3, false, false); + }, + _Uri__makePath(path, start, end, pathSegments, scheme, hasAuthority) { + var isFile = scheme === "file", + ensureLeadingSlash = isFile || hasAuthority, + result = A._Uri__normalizeOrSubstring(path, start, end, B.List_XRg, true, true); + if (result.length === 0) { + if (isFile) + return "/"; + } else if (ensureLeadingSlash && !B.JSString_methods.startsWith$1(result, "/")) + result = "/" + result; + return A._Uri__normalizePath(result, scheme, hasAuthority); + }, + _Uri__normalizePath(path, scheme, hasAuthority) { + var t1 = scheme.length === 0; + if (t1 && !hasAuthority && !B.JSString_methods.startsWith$1(path, "/") && !B.JSString_methods.startsWith$1(path, "\\")) + return A._Uri__normalizeRelativePath(path, !t1 || hasAuthority); + return A._Uri__removeDotSegments(path); + }, + _Uri__makeQuery(query, start, end, queryParameters) { + if (query != null) + return A._Uri__normalizeOrSubstring(query, start, end, B.List_oFp, true, false); + return null; + }, + _Uri__makeFragment(fragment, start, end) { + if (fragment == null) + return null; + return A._Uri__normalizeOrSubstring(fragment, start, end, B.List_oFp, true, false); + }, + _Uri__normalizeEscape(source, index, lowerCase) { + var t1, firstDigit, secondDigit, firstDigitValue, secondDigitValue, value; + A.assertHelper(B.JSString_methods.codeUnitAt$1(source, index) === 37); + t1 = index + 2; + if (t1 >= source.length) + return "%"; + firstDigit = B.JSString_methods.codeUnitAt$1(source, index + 1); + secondDigit = B.JSString_methods.codeUnitAt$1(source, t1); + firstDigitValue = A.hexDigitValue(firstDigit); + secondDigitValue = A.hexDigitValue(secondDigit); + if (firstDigitValue < 0 || secondDigitValue < 0) + return "%"; + value = firstDigitValue * 16 + secondDigitValue; + if (value < 127) { + t1 = B.JSInt_methods._shrOtherPositive$1(value, 4); + if (!(t1 < 8)) + return A.ioore(B.List_M1A, t1); + t1 = (B.List_M1A[t1] & 1 << (value & 15)) !== 0; + } else + t1 = false; + if (t1) + return A.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value); + if (firstDigit >= 97 || secondDigit >= 97) + return B.JSString_methods.substring$2(source, index, index + 3).toUpperCase(); + return null; + }, + _Uri__escapeChar(char) { + var codeUnits, flag, encodedBytes, t1, index, byte, t2, t3, + _s16_ = "0123456789ABCDEF"; + A.assertHelper(char <= 1114111); + if (char < 128) { + codeUnits = new Uint8Array(3); + codeUnits[0] = 37; + codeUnits[1] = B.JSString_methods._codeUnitAt$1(_s16_, char >>> 4); + codeUnits[2] = B.JSString_methods._codeUnitAt$1(_s16_, 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 = new Uint8Array(t1); + for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) { + byte = B.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag; + if (!(index < t1)) + return A.ioore(codeUnits, index); + codeUnits[index] = 37; + t2 = index + 1; + t3 = B.JSString_methods._codeUnitAt$1(_s16_, byte >>> 4); + if (!(t2 < t1)) + return A.ioore(codeUnits, t2); + codeUnits[t2] = t3; + t3 = index + 2; + t2 = B.JSString_methods._codeUnitAt$1(_s16_, byte & 15); + if (!(t3 < t1)) + return A.ioore(codeUnits, t3); + codeUnits[t3] = t2; + index += 3; + } + } + return A.String_String$fromCharCodes(codeUnits, 0, null); + }, + _Uri__normalizeOrSubstring(component, start, end, charTable, escapeDelimiters, replaceBackslash) { + var t1 = A._Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash); + return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1; + }, + _Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash) { + var t1, index, sectionStart, buffer, char, t2, replacement, sourceLength, tail, t3, _null = null; + for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = _null; index < end;) { + char = B.JSString_methods.codeUnitAt$1(component, index); + if (char < 127) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(charTable, t2); + t2 = (charTable[t2] & 1 << (char & 15)) !== 0; + } else + t2 = false; + if (t2) + ++index; + else { + if (char === 37) { + replacement = A._Uri__normalizeEscape(component, index, false); + if (replacement == null) { + index += 3; + continue; + } + if ("%" === replacement) { + replacement = "%25"; + sourceLength = 1; + } else + sourceLength = 3; + } else if (char === 92 && replaceBackslash) { + replacement = "/"; + sourceLength = 1; + } else { + if (t1) + if (char <= 93) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_YmH, t2); + t2 = (B.List_YmH[t2] & 1 << (char & 15)) !== 0; + } else + t2 = false; + else + t2 = false; + if (t2) { + A._Uri__fail(component, index, "Invalid character"); + sourceLength = _null; + replacement = sourceLength; + } else { + if ((char & 64512) === 55296) { + t2 = index + 1; + if (t2 < end) { + tail = B.JSString_methods.codeUnitAt$1(component, t2); + if ((tail & 64512) === 56320) { + char = (char & 1023) << 10 | tail & 1023 | 65536; + sourceLength = 2; + } else + sourceLength = 1; + } else + sourceLength = 1; + } else + sourceLength = 1; + replacement = A._Uri__escapeChar(char); + } + } + if (buffer == null) { + buffer = new A.StringBuffer(""); + t2 = buffer; + } else + t2 = buffer; + t3 = t2._contents += B.JSString_methods.substring$2(component, sectionStart, index); + t2._contents = t3 + A.S(replacement); + if (typeof sourceLength !== "number") + return A.iae(sourceLength); + index += sourceLength; + sectionStart = index; + } + } + if (buffer == null) + return _null; + if (sectionStart < end) + buffer._contents += B.JSString_methods.substring$2(component, sectionStart, end); + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__mayContainDotSegments(path) { + if (B.JSString_methods.startsWith$1(path, ".")) + return true; + return B.JSString_methods.indexOf$1(path, "/.") !== -1; + }, + _Uri__removeDotSegments(path) { + var output, t1, t2, appendSlash, _i, segment, t3; + if (!A._Uri__mayContainDotSegments(path)) + return path; + A.assertHelper(path.length !== 0); + output = A._setArrayType([], type$.JSArray_String); + for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { + segment = t1[_i]; + if (J.$eq$(segment, "..")) { + t3 = output.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(output, -1); + output.pop(); + if (output.length === 0) + B.JSArray_methods.add$1(output, ""); + } + appendSlash = true; + } else if ("." === segment) + appendSlash = true; + else { + B.JSArray_methods.add$1(output, segment); + appendSlash = false; + } + } + if (appendSlash) + B.JSArray_methods.add$1(output, ""); + return B.JSArray_methods.join$1(output, "/"); + }, + _Uri__normalizeRelativePath(path, allowScheme) { + var output, t1, t2, appendSlash, _i, segment; + A.assertHelper(!B.JSString_methods.startsWith$1(path, "/")); + if (!A._Uri__mayContainDotSegments(path)) + return !allowScheme ? A._Uri__escapeScheme(path) : path; + A.assertHelper(path.length !== 0); + output = A._setArrayType([], type$.JSArray_String); + for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { + segment = t1[_i]; + if (".." === segment) + if (output.length !== 0 && B.JSArray_methods.get$last(output) !== "..") { + if (0 >= output.length) + return A.ioore(output, -1); + output.pop(); + appendSlash = true; + } else { + B.JSArray_methods.add$1(output, ".."); + appendSlash = false; + } + else if ("." === segment) + appendSlash = true; + else { + B.JSArray_methods.add$1(output, segment); + appendSlash = false; + } + } + t1 = output.length; + if (t1 !== 0) + if (t1 === 1) { + if (0 >= t1) + return A.ioore(output, 0); + t1 = output[0].length === 0; + } else + t1 = false; + else + t1 = true; + if (t1) + return "./"; + if (appendSlash || B.JSArray_methods.get$last(output) === "..") + B.JSArray_methods.add$1(output, ""); + if (!allowScheme) { + if (0 >= output.length) + return A.ioore(output, 0); + B.JSArray_methods.$indexSet(output, 0, A._Uri__escapeScheme(output[0])); + } + return B.JSArray_methods.join$1(output, "/"); + }, + _Uri__escapeScheme(path) { + var i, char, t2, + t1 = path.length; + if (t1 >= 2 && A._Uri__isAlphabeticCharacter(B.JSString_methods._codeUnitAt$1(path, 0))) + for (i = 1; i < t1; ++i) { + char = B.JSString_methods._codeUnitAt$1(path, i); + if (char === 58) + return B.JSString_methods.substring$2(path, 0, i) + "%3A" + B.JSString_methods.substring$1(path, i + 1); + if (char <= 127) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_MMm, t2); + t2 = (B.List_MMm[t2] & 1 << (char & 15)) === 0; + } else + t2 = true; + if (t2) + break; + } + return path; + }, + _Uri__toWindowsFilePath(uri) { + var hasDriveLetter, t2, host, + segments = uri.get$pathSegments(), + t1 = segments.length; + if (t1 > 0 && J.get$length$asx(segments[0]) === 2 && J.codeUnitAt$1$s(segments[0], 1) === 58) { + if (0 >= t1) + return A.ioore(segments, 0); + A._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(segments[0], 0), false); + A._Uri__checkWindowsPathReservedCharacters(segments, false, 1); + hasDriveLetter = true; + } else { + A._Uri__checkWindowsPathReservedCharacters(segments, false, 0); + hasDriveLetter = false; + } + t2 = uri.get$hasAbsolutePath() && !hasDriveLetter ? "" + "\\" : ""; + if (uri.get$hasAuthority()) { + host = uri.get$host(uri); + if (host.length !== 0) + t2 = t2 + "\\" + host + "\\"; + } + t2 = A.StringBuffer__writeAll(t2, segments, "\\"); + t1 = hasDriveLetter && t1 === 1 ? t2 + "\\" : t2; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__hexCharPairToByte(s, pos) { + var byte, i, charCode; + for (byte = 0, i = 0; i < 2; ++i) { + charCode = B.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 A.wrapException(A.ArgumentError$("Invalid URL encoding", null)); + } + } + return byte; + }, + _Uri__uriDecode(text, start, end, encoding, plusToSpace) { + var t1, simple, i, codeUnit, t2, bytes; + A.assertHelper(start <= end); + t1 = text.length; + A.assertHelper(end <= t1); + i = start; + while (true) { + if (!(i < end)) { + simple = true; + break; + } + codeUnit = B.JSString_methods._codeUnitAt$1(text, i); + if (codeUnit <= 127) + if (codeUnit !== 37) + t2 = false; + else + t2 = true; + else + t2 = true; + if (t2) { + simple = false; + break; + } + ++i; + } + if (simple) { + if (B.C_Utf8Codec !== encoding) + t1 = false; + else + t1 = true; + if (t1) + return B.JSString_methods.substring$2(text, start, end); + else + bytes = new A.CodeUnits(B.JSString_methods.substring$2(text, start, end)); + } else { + bytes = A._setArrayType([], type$.JSArray_int); + for (i = start; i < end; ++i) { + codeUnit = B.JSString_methods._codeUnitAt$1(text, i); + if (codeUnit > 127) + throw A.wrapException(A.ArgumentError$("Illegal percent encoding in URI", null)); + if (codeUnit === 37) { + if (i + 3 > t1) + throw A.wrapException(A.ArgumentError$("Truncated URI", null)); + B.JSArray_methods.add$1(bytes, A._Uri__hexCharPairToByte(text, i + 1)); + i += 2; + } else + B.JSArray_methods.add$1(bytes, codeUnit); + } + } + return encoding.decode$1(0, bytes); + }, + _Uri__isAlphabeticCharacter(codeUnit) { + var lowerCase = codeUnit | 32; + return 97 <= lowerCase && lowerCase <= 122; + }, + UriData__parse(text, start, sourceUri) { + var indices, t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data, + _s17_ = "Invalid MIME type"; + A.assertHelper(start === 0 || start === 5); + A.assertHelper(start === 5 === B.JSString_methods.startsWith$1(text, "data:")); + indices = A._setArrayType([start - 1], type$.JSArray_int); + for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) { + char = B.JSString_methods._codeUnitAt$1(text, i); + if (char === 44 || char === 59) + break; + if (char === 47) { + if (slashIndex < 0) { + slashIndex = i; + continue; + } + throw A.wrapException(A.FormatException$(_s17_, text, i)); + } + } + if (slashIndex < 0 && i > start) + throw A.wrapException(A.FormatException$(_s17_, text, i)); + for (; char !== 44;) { + B.JSArray_methods.add$1(indices, i); + ++i; + for (equalsIndex = -1; i < t1; ++i) { + char = B.JSString_methods._codeUnitAt$1(text, i); + if (char === 61) { + if (equalsIndex < 0) + equalsIndex = i; + } else if (char === 59 || char === 44) + break; + } + if (equalsIndex >= 0) + B.JSArray_methods.add$1(indices, equalsIndex); + else { + lastSeparator = B.JSArray_methods.get$last(indices); + if (char !== 44 || i !== lastSeparator + 7 || !B.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1)) + throw A.wrapException(A.FormatException$("Expecting '='", text, i)); + break; + } + } + B.JSArray_methods.add$1(indices, i); + t2 = i + 1; + if ((indices.length & 1) === 1) + text = B.C_Base64Codec.normalize$3(0, text, t2, t1); + else { + data = A._Uri__normalize(text, t2, t1, B.List_oFp, true, false); + if (data != null) + text = B.JSString_methods.replaceRange$3(text, t2, t1, data); + } + return new A.UriData(text, indices, sourceUri); + }, + _createTables() { + var _i, t1, t2, t3, t4, t5, + _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=", + _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "\\", _s1_3 = "?", _s1_4 = "#", _s2_ = "/\\", + tables = A._setArrayType(new Array(22), type$.JSArray_Uint8List); + for (_i = 0; _i < 22; ++_i) + tables[_i] = new Uint8Array(96); + t1 = new A._createTables_build(tables); + t2 = new A._createTables_setChars(); + t3 = new A._createTables_setRange(); + t4 = type$.Uint8List; + t5 = t4._as(t1.call$2(0, 225)); + t2.call$3(t5, _s77_, 1); + t2.call$3(t5, _s1_, 14); + t2.call$3(t5, _s1_0, 34); + t2.call$3(t5, _s1_1, 3); + t2.call$3(t5, _s1_2, 227); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(14, 225)); + t2.call$3(t5, _s77_, 1); + t2.call$3(t5, _s1_, 15); + t2.call$3(t5, _s1_0, 34); + t2.call$3(t5, _s2_, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(15, 225)); + t2.call$3(t5, _s77_, 1); + t2.call$3(t5, "%", 225); + t2.call$3(t5, _s1_0, 34); + t2.call$3(t5, _s1_1, 9); + t2.call$3(t5, _s1_2, 233); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(1, 225)); + t2.call$3(t5, _s77_, 1); + t2.call$3(t5, _s1_0, 34); + t2.call$3(t5, _s1_1, 10); + t2.call$3(t5, _s1_2, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(2, 235)); + t2.call$3(t5, _s77_, 139); + t2.call$3(t5, _s1_1, 131); + t2.call$3(t5, _s1_2, 131); + t2.call$3(t5, _s1_, 146); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(3, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_1, 68); + t2.call$3(t5, _s1_2, 68); + t2.call$3(t5, _s1_, 18); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(4, 229)); + t2.call$3(t5, _s77_, 5); + t3.call$3(t5, "AZ", 229); + t2.call$3(t5, _s1_0, 102); + t2.call$3(t5, "@", 68); + t2.call$3(t5, "[", 232); + t2.call$3(t5, _s1_1, 138); + t2.call$3(t5, _s1_2, 138); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(5, 229)); + t2.call$3(t5, _s77_, 5); + t3.call$3(t5, "AZ", 229); + t2.call$3(t5, _s1_0, 102); + t2.call$3(t5, "@", 68); + t2.call$3(t5, _s1_1, 138); + t2.call$3(t5, _s1_2, 138); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(6, 231)); + t3.call$3(t5, "19", 7); + t2.call$3(t5, "@", 68); + t2.call$3(t5, _s1_1, 138); + t2.call$3(t5, _s1_2, 138); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(7, 231)); + t3.call$3(t5, "09", 7); + t2.call$3(t5, "@", 68); + t2.call$3(t5, _s1_1, 138); + t2.call$3(t5, _s1_2, 138); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t2.call$3(t4._as(t1.call$2(8, 8)), "]", 5); + t5 = t4._as(t1.call$2(9, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_, 16); + t2.call$3(t5, _s2_, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(16, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_, 17); + t2.call$3(t5, _s2_, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(17, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_1, 9); + t2.call$3(t5, _s1_2, 233); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(10, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_, 18); + t2.call$3(t5, _s1_1, 10); + t2.call$3(t5, _s1_2, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(18, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_, 19); + t2.call$3(t5, _s2_, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(19, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s2_, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(11, 235)); + t2.call$3(t5, _s77_, 11); + t2.call$3(t5, _s1_1, 10); + t2.call$3(t5, _s1_2, 234); + t2.call$3(t5, _s1_3, 172); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(12, 236)); + t2.call$3(t5, _s77_, 12); + t2.call$3(t5, _s1_3, 12); + t2.call$3(t5, _s1_4, 205); + t5 = t4._as(t1.call$2(13, 237)); + t2.call$3(t5, _s77_, 13); + t2.call$3(t5, _s1_3, 13); + t3.call$3(t4._as(t1.call$2(20, 245)), "az", 21); + t1 = t4._as(t1.call$2(21, 245)); + t3.call$3(t1, "az", 21); + t3.call$3(t1, "09", 21); + t2.call$3(t1, "+-.", 21); + return tables; + }, + _scan(uri, start, end, state, indices) { + var i, table, char, transition, + tables = $.$get$_scannerTables(); + A.assertHelper(end <= uri.length); + for (i = start; i < end; ++i) { + if (!(state >= 0 && state < tables.length)) + return A.ioore(tables, state); + table = tables[state]; + char = B.JSString_methods._codeUnitAt$1(uri, i) ^ 96; + transition = table[char > 95 ? 31 : char]; + state = transition & 31; + B.JSArray_methods.$indexSet(indices, transition >>> 5, i); + } + return state; + }, + _BigIntImpl: function _BigIntImpl(t0, t1, t2) { + this._isNegative = t0; + this._digits = t1; + this._used = t2; + }, + _BigIntImpl_hashCode_combine: function _BigIntImpl_hashCode_combine() { + }, + _BigIntImpl_hashCode_finish: function _BigIntImpl_hashCode_finish() { + }, + _FinalizationRegistryWrapper: function _FinalizationRegistryWrapper(t0, t1) { + this._registry = t0; + this.$ti = t1; + }, + NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { + this._box_0 = t0; + this.sb = t1; + }, + DateTime: function DateTime(t0, t1) { + this._core$_value = t0; + this.isUtc = t1; + }, + Duration: function Duration() { + }, + _Enum: function _Enum() { + }, + Error: function Error() { + }, + AssertionError: function AssertionError(t0) { + this.message = t0; + }, + TypeError: function TypeError() { + }, + ArgumentError: function ArgumentError(t0, t1, t2, t3) { + var _ = this; + _._hasValue = t0; + _.invalidValue = t1; + _.name = t2; + _.message = t3; + }, + RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.start = t0; + _.end = t1; + _._hasValue = t2; + _.invalidValue = t3; + _.name = t4; + _.message = t5; + }, + IndexError: function IndexError(t0, t1, t2, t3, t4) { + var _ = this; + _.length = t0; + _._hasValue = t1; + _.invalidValue = t2; + _.name = t3; + _.message = t4; + }, + NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { + var _ = this; + _._core$_receiver = t0; + _._core$_memberName = t1; + _._core$_arguments = t2; + _._namedArguments = t3; + }, + UnsupportedError: function UnsupportedError(t0) { + this.message = t0; + }, + UnimplementedError: function UnimplementedError(t0) { + this.message = t0; + }, + StateError: function StateError(t0) { + this.message = t0; + }, + ConcurrentModificationError: function ConcurrentModificationError(t0) { + this.modifiedObject = t0; + }, + OutOfMemoryError: function OutOfMemoryError() { + }, + StackOverflowError: function StackOverflowError() { + }, + _Exception: function _Exception(t0) { + this.message = t0; + }, + FormatException: function FormatException(t0, t1, t2) { + this.message = t0; + this.source = t1; + this.offset = t2; + }, + IntegerDivisionByZeroException: function IntegerDivisionByZeroException() { + }, + Iterable: function Iterable() { + }, + Iterator: function Iterator() { + }, + MapEntry: function MapEntry(t0, t1, t2) { + this.key = t0; + this.value = t1; + this.$ti = t2; + }, + Null: function Null() { + }, + Object: function Object() { + }, + _StringStackTrace: function _StringStackTrace(t0) { + this._stackTrace = t0; + }, + StringBuffer: function StringBuffer(t0) { + this._contents = t0; + }, + Uri__parseIPv4Address_error: function Uri__parseIPv4Address_error(t0) { + this.host = t0; + }, + Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) { + this.host = t0; + }, + Uri_parseIPv6Address_parseHex: function Uri_parseIPv6Address_parseHex(t0, t1) { + this.error = t0; + this.host = t1; + }, + _Uri: function _Uri(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.scheme = t0; + _._userInfo = t1; + _._host = t2; + _._port = t3; + _.path = t4; + _._query = t5; + _._fragment = t6; + _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $; + }, + UriData: function UriData(t0, t1, t2) { + this._text = t0; + this._separatorIndices = t1; + this._uriCache = t2; + }, + _createTables_build: function _createTables_build(t0) { + this.tables = t0; + }, + _createTables_setChars: function _createTables_setChars() { + }, + _createTables_setRange: function _createTables_setRange() { + }, + _SimpleUri: function _SimpleUri(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _._uri = t0; + _._schemeEnd = t1; + _._hostStart = t2; + _._portStart = t3; + _._pathStart = t4; + _._queryStart = t5; + _._fragmentStart = t6; + _._schemeCache = t7; + _._hashCodeCache = null; + }, + _DataUri: function _DataUri(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.scheme = t0; + _._userInfo = t1; + _._host = t2; + _._port = t3; + _.path = t4; + _._query = t5; + _._fragment = t6; + _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $; + }, + Blob_Blob(blobParts) { + var t1 = new self.Blob(blobParts); + return t1; + }, + _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) { + var t1 = onData == null ? null : A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.Event); + t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>")); + t1._tryResume$0(); + return t1; + }, + _wrapZone(callback, $T) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return callback; + return t1.bindUnaryCallbackGuarded$1$1(callback, $T); + }, + HtmlElement: function HtmlElement() { + }, + AccessibleNodeList: function AccessibleNodeList() { + }, + AnchorElement: function AnchorElement() { + }, + AreaElement: function AreaElement() { + }, + Blob: function Blob() { + }, + CharacterData: function CharacterData() { + }, + CssPerspective: function CssPerspective() { + }, + CssRule: function CssRule() { + }, + CssStyleDeclaration: function CssStyleDeclaration() { + }, + CssStyleDeclarationBase: function CssStyleDeclarationBase() { + }, + CssStyleValue: function CssStyleValue() { + }, + CssTransformComponent: function CssTransformComponent() { + }, + CssTransformValue: function CssTransformValue() { + }, + CssUnparsedValue: function CssUnparsedValue() { + }, + DataTransferItemList: function DataTransferItemList() { + }, + DedicatedWorkerGlobalScope: function DedicatedWorkerGlobalScope() { + }, + DomException: function DomException() { + }, + DomRectList: function DomRectList() { + }, + DomRectReadOnly: function DomRectReadOnly() { + }, + DomStringList: function DomStringList() { + }, + DomTokenList: function DomTokenList() { + }, + Element: function Element() { + }, + Event: function Event() { + }, + EventTarget: function EventTarget() { + }, + File: function File() { + }, + FileList: function FileList() { + }, + FileWriter: function FileWriter() { + }, + FormElement: function FormElement() { + }, + Gamepad: function Gamepad() { + }, + History: function History() { + }, + HtmlCollection: function HtmlCollection() { + }, + ImageData: function ImageData() { + }, + Location: function Location() { + }, + MediaList: function MediaList() { + }, + MessageEvent: function MessageEvent() { + }, + MessagePort: function MessagePort() { + }, + MidiInputMap: function MidiInputMap() { + }, + MidiInputMap_keys_closure: function MidiInputMap_keys_closure(t0) { + this.keys = t0; + }, + MidiInputMap_values_closure: function MidiInputMap_values_closure(t0) { + this.values = t0; + }, + MidiOutputMap: function MidiOutputMap() { + }, + MidiOutputMap_keys_closure: function MidiOutputMap_keys_closure(t0) { + this.keys = t0; + }, + MidiOutputMap_values_closure: function MidiOutputMap_values_closure(t0) { + this.values = t0; + }, + MimeType: function MimeType() { + }, + MimeTypeArray: function MimeTypeArray() { + }, + Node: function Node() { + }, + NodeList: function NodeList() { + }, + Plugin: function Plugin() { + }, + PluginArray: function PluginArray() { + }, + RtcStatsReport: function RtcStatsReport() { + }, + RtcStatsReport_keys_closure: function RtcStatsReport_keys_closure(t0) { + this.keys = t0; + }, + RtcStatsReport_values_closure: function RtcStatsReport_values_closure(t0) { + this.values = t0; + }, + SelectElement: function SelectElement() { + }, + SharedArrayBuffer: function SharedArrayBuffer() { + }, + SharedWorkerGlobalScope: function SharedWorkerGlobalScope() { + }, + SourceBuffer: function SourceBuffer() { + }, + SourceBufferList: function SourceBufferList() { + }, + SpeechGrammar: function SpeechGrammar() { + }, + SpeechGrammarList: function SpeechGrammarList() { + }, + SpeechRecognitionResult: function SpeechRecognitionResult() { + }, + Storage: function Storage() { + }, + Storage_keys_closure: function Storage_keys_closure(t0) { + this.keys = t0; + }, + Storage_values_closure: function Storage_values_closure(t0) { + this.values = t0; + }, + StyleSheet: function StyleSheet() { + }, + TextTrack: function TextTrack() { + }, + TextTrackCue: function TextTrackCue() { + }, + TextTrackCueList: function TextTrackCueList() { + }, + TextTrackList: function TextTrackList() { + }, + TimeRanges: function TimeRanges() { + }, + Touch: function Touch() { + }, + TouchList: function TouchList() { + }, + TrackDefaultList: function TrackDefaultList() { + }, + Url: function Url() { + }, + VideoTrackList: function VideoTrackList() { + }, + Worker: function Worker() { + }, + WorkerGlobalScope: function WorkerGlobalScope() { + }, + _CssRuleList: function _CssRuleList() { + }, + _DomRect: function _DomRect() { + }, + _GamepadList: function _GamepadList() { + }, + _NamedNodeMap: function _NamedNodeMap() { + }, + _SpeechRecognitionResultList: function _SpeechRecognitionResultList() { + }, + _StyleSheetList: function _StyleSheetList() { + }, + EventStreamProvider: function EventStreamProvider(t0, t1) { + this._eventType = t0; + this.$ti = t1; + }, + _EventStream: function _EventStream(t0, t1, t2, t3) { + var _ = this; + _._target = t0; + _._eventType = t1; + _._useCapture = t2; + _.$ti = t3; + }, + _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) { + var _ = this; + _._pauseCount = 0; + _._target = t0; + _._eventType = t1; + _._html$_onData = t2; + _._useCapture = t3; + _.$ti = t4; + }, + _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) { + this.onData = t0; + }, + _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) { + this.handleData = t0; + }, + ImmutableListMixin: function ImmutableListMixin() { + }, + FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) { + var _ = this; + _._array = t0; + _._html$_length = t1; + _._position = -1; + _._html$_current = null; + _.$ti = t2; + }, + _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase: function _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase() { + }, + _DomRectList_JavaScriptObject_ListMixin: function _DomRectList_JavaScriptObject_ListMixin() { + }, + _DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin: function _DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _DomStringList_JavaScriptObject_ListMixin: function _DomStringList_JavaScriptObject_ListMixin() { + }, + _DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin: function _DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _FileList_JavaScriptObject_ListMixin: function _FileList_JavaScriptObject_ListMixin() { + }, + _FileList_JavaScriptObject_ListMixin_ImmutableListMixin: function _FileList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _HtmlCollection_JavaScriptObject_ListMixin: function _HtmlCollection_JavaScriptObject_ListMixin() { + }, + _HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin: function _HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _MidiInputMap_JavaScriptObject_MapMixin: function _MidiInputMap_JavaScriptObject_MapMixin() { + }, + _MidiOutputMap_JavaScriptObject_MapMixin: function _MidiOutputMap_JavaScriptObject_MapMixin() { + }, + _MimeTypeArray_JavaScriptObject_ListMixin: function _MimeTypeArray_JavaScriptObject_ListMixin() { + }, + _MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin: function _MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _NodeList_JavaScriptObject_ListMixin: function _NodeList_JavaScriptObject_ListMixin() { + }, + _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _PluginArray_JavaScriptObject_ListMixin: function _PluginArray_JavaScriptObject_ListMixin() { + }, + _PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin: function _PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _RtcStatsReport_JavaScriptObject_MapMixin: function _RtcStatsReport_JavaScriptObject_MapMixin() { + }, + _SourceBufferList_EventTarget_ListMixin: function _SourceBufferList_EventTarget_ListMixin() { + }, + _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin: function _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin() { + }, + _SpeechGrammarList_JavaScriptObject_ListMixin: function _SpeechGrammarList_JavaScriptObject_ListMixin() { + }, + _SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin: function _SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _Storage_JavaScriptObject_MapMixin: function _Storage_JavaScriptObject_MapMixin() { + }, + _TextTrackCueList_JavaScriptObject_ListMixin: function _TextTrackCueList_JavaScriptObject_ListMixin() { + }, + _TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _TextTrackList_EventTarget_ListMixin: function _TextTrackList_EventTarget_ListMixin() { + }, + _TextTrackList_EventTarget_ListMixin_ImmutableListMixin: function _TextTrackList_EventTarget_ListMixin_ImmutableListMixin() { + }, + _TouchList_JavaScriptObject_ListMixin: function _TouchList_JavaScriptObject_ListMixin() { + }, + _TouchList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TouchList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + __CssRuleList_JavaScriptObject_ListMixin: function __CssRuleList_JavaScriptObject_ListMixin() { + }, + __CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin: function __CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + __GamepadList_JavaScriptObject_ListMixin: function __GamepadList_JavaScriptObject_ListMixin() { + }, + __GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin: function __GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + __NamedNodeMap_JavaScriptObject_ListMixin: function __NamedNodeMap_JavaScriptObject_ListMixin() { + }, + __NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin: function __NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + __SpeechRecognitionResultList_JavaScriptObject_ListMixin: function __SpeechRecognitionResultList_JavaScriptObject_ListMixin() { + }, + __SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin: function __SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + __StyleSheetList_JavaScriptObject_ListMixin: function __StyleSheetList_JavaScriptObject_ListMixin() { + }, + __StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin: function __StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _convertNativeToDart_Value(value) { + var t1, values, i; + if (value == null) + return value; + if (typeof value == "string" || typeof value == "number" || A._isBool(value)) + return value; + if (A.isJavaScriptSimpleObject(value)) + return A.convertNativeToDart_Dictionary(value); + t1 = Array.isArray(value); + t1.toString; + if (t1) { + values = []; + i = 0; + while (true) { + t1 = value.length; + t1.toString; + if (!(i < t1)) + break; + values.push(A._convertNativeToDart_Value(value[i])); + ++i; + } + return values; + } + return value; + }, + convertNativeToDart_Dictionary(object) { + var dict, keys, t1, _i, key, t2; + if (object == null) + return null; + dict = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic); + keys = Object.getOwnPropertyNames(object); + for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { + key = keys[_i]; + t2 = key; + t2.toString; + dict.$indexSet(0, t2, A._convertNativeToDart_Value(object[key])); + } + return dict; + }, + _convertDartToNative_Value(value) { + var array; + if (value == null) + return value; + if (typeof value == "string" || typeof value == "number" || A._isBool(value)) + return value; + if (type$.Map_dynamic_dynamic._is(value)) + return A.convertDartToNative_Dictionary(value); + if (type$.List_dynamic._is(value)) { + array = []; + J.forEach$1$ax(value, new A._convertDartToNative_Value_closure(array)); + value = array; + } + return value; + }, + convertDartToNative_Dictionary(dict) { + var object = {}; + J.forEach$1$ax(dict, new A.convertDartToNative_Dictionary_closure(object)); + return object; + }, + isJavaScriptSimpleObject(value) { + var proto = Object.getPrototypeOf(value), + t1 = proto === Object.prototype; + t1.toString; + if (!t1) { + t1 = proto === null; + t1.toString; + } else + t1 = true; + return t1; + }, + _StructuredClone: function _StructuredClone() { + }, + _StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _StructuredClone_walk_closure0: function _StructuredClone_walk_closure0(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _AcceptStructuredClone: function _AcceptStructuredClone() { + }, + _AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) { + this.$this = t0; + this.map = t1; + }, + _convertDartToNative_Value_closure: function _convertDartToNative_Value_closure(t0) { + this.array = t0; + }, + convertDartToNative_Dictionary_closure: function convertDartToNative_Dictionary_closure(t0) { + this.object = t0; + }, + _StructuredCloneDart2Js: function _StructuredCloneDart2Js(t0, t1) { + this.values = t0; + this.copies = t1; + }, + _AcceptStructuredCloneDart2Js: function _AcceptStructuredCloneDart2Js(t0, t1) { + this.values = t0; + this.copies = t1; + this.mustCopy = false; + }, + _completeRequest(request, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_Event, + t3 = type$.Event; + A._EventStreamSubscription$(request, "success", t2._as(new A._completeRequest_closure(request, completer, $T)), false, t3); + A._EventStreamSubscription$(request, "error", t2._as(completer.get$completeError()), false, t3); + return t1; + }, + ObjectStore__cursorStreamFromResult(request, autoAdvance, $T) { + var controller = A.StreamController_StreamController(null, null, true, $T), + t1 = type$.nullable_void_Function_Event, + t2 = type$.Event; + A._EventStreamSubscription$(request, "error", t1._as(controller.get$addError()), false, t2); + A._EventStreamSubscription$(request, "success", t1._as(new A.ObjectStore__cursorStreamFromResult_closure(request, controller, autoAdvance, $T)), false, t2); + return new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>")); + }, + Cursor: function Cursor() { + }, + CursorWithValue: function CursorWithValue() { + }, + Database: function Database() { + }, + IdbFactory: function IdbFactory() { + }, + _completeRequest_closure: function _completeRequest_closure(t0, t1, t2) { + this.request = t0; + this.completer = t1; + this.T = t2; + }, + Index: function Index() { + }, + ObjectStore: function ObjectStore() { + }, + ObjectStore__cursorStreamFromResult_closure: function ObjectStore__cursorStreamFromResult_closure(t0, t1, t2, t3) { + var _ = this; + _.request = t0; + _.controller = t1; + _.autoAdvance = t2; + _.T = t3; + }, + Request0: function Request0() { + }, + Transaction: function Transaction() { + }, + VersionChangeEvent: function VersionChangeEvent() { + }, + _convertDartFunctionFast(f) { + var ret, + existing = f.$dart_jsFunction; + if (existing != null) + return existing; + ret = function(_call, f) { + return function() { + return _call(f, Array.prototype.slice.apply(arguments)); + }; + }(A._callDartFunctionFast, f); + ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + f.$dart_jsFunction = ret; + return ret; + }, + _callDartFunctionFast(callback, $arguments) { + type$.List_dynamic._as($arguments); + type$.Function._as(callback); + return A.Primitives_applyFunction(callback, $arguments, null); + }, + allowInterop(f, $F) { + if (typeof f == "function") + return f; + else + return $F._as(A._convertDartFunctionFast(f)); + }, + callMethod(o, method, args, $T) { + A.assertInteropArgs(args); + return $T._as(o[method].apply(o, args)); + }, + promiseToFuture(jsPromise, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); + jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1)); + return t1; + }, + promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { + this.completer = t0; + this.T = t1; + }, + promiseToFuture_closure0: function promiseToFuture_closure0(t0) { + this.completer = t0; + }, + NullRejectionException: function NullRejectionException(t0) { + this.isUndefined = t0; + }, + sqrt(x) { + return Math.sqrt(x); + }, + sin(radians) { + return Math.sin(radians); + }, + cos(radians) { + return Math.cos(radians); + }, + tan(radians) { + return Math.tan(radians); + }, + acos(x) { + return Math.acos(x); + }, + asin(x) { + return Math.asin(x); + }, + atan(x) { + return Math.atan(x); + }, + _JSSecureRandom: function _JSSecureRandom(t0) { + this._math$_buffer = t0; + }, + Length: function Length() { + }, + LengthList: function LengthList() { + }, + Number: function Number() { + }, + NumberList: function NumberList() { + }, + PointList: function PointList() { + }, + StringList: function StringList() { + }, + Transform: function Transform() { + }, + TransformList: function TransformList() { + }, + _LengthList_JavaScriptObject_ListMixin: function _LengthList_JavaScriptObject_ListMixin() { + }, + _LengthList_JavaScriptObject_ListMixin_ImmutableListMixin: function _LengthList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _NumberList_JavaScriptObject_ListMixin: function _NumberList_JavaScriptObject_ListMixin() { + }, + _NumberList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NumberList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _StringList_JavaScriptObject_ListMixin: function _StringList_JavaScriptObject_ListMixin() { + }, + _StringList_JavaScriptObject_ListMixin_ImmutableListMixin: function _StringList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + _TransformList_JavaScriptObject_ListMixin: function _TransformList_JavaScriptObject_ListMixin() { + }, + _TransformList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TransformList_JavaScriptObject_ListMixin_ImmutableListMixin() { + }, + AudioBuffer: function AudioBuffer() { + }, + AudioParamMap: function AudioParamMap() { + }, + AudioParamMap_keys_closure: function AudioParamMap_keys_closure(t0) { + this.keys = t0; + }, + AudioParamMap_values_closure: function AudioParamMap_values_closure(t0) { + this.values = t0; + }, + AudioTrackList: function AudioTrackList() { + }, + BaseAudioContext: function BaseAudioContext() { + }, + OfflineAudioContext: function OfflineAudioContext() { + }, + _AudioParamMap_JavaScriptObject_MapMixin: function _AudioParamMap_JavaScriptObject_MapMixin() { + }, + connect(isInWebWorker) { + var t1 = A.DatabaseConnection_DatabaseConnection$delayed(A.Future_Future$sync(new A.connect_closure(), type$.DatabaseConnection)); + return t1; + }, + connect_closure: function connect_closure() { + }, + DelegatingStreamSink: function DelegatingStreamSink() { + }, + DelegatingStreamSubscription: function DelegatingStreamSubscription() { + }, + SubscriptionStream: function SubscriptionStream(t0, t1) { + this._subscription_stream$_source = t0; + this.$ti = t1; + }, + _CancelOnErrorSubscriptionWrapper: function _CancelOnErrorSubscriptionWrapper(t0, t1) { + this._stream_subscription$_source = t0; + this.$ti = t1; + }, + _CancelOnErrorSubscriptionWrapper_onError_closure: function _CancelOnErrorSubscriptionWrapper_onError_closure(t0, t1) { + this.$this = t0; + this.handleError = t1; + }, + _CancelOnErrorSubscriptionWrapper_onError__closure: function _CancelOnErrorSubscriptionWrapper_onError__closure(t0, t1, t2) { + this.handleError = t0; + this.error = t1; + this.stackTrace = t2; + }, + DefaultEquality: function DefaultEquality(t0) { + this.$ti = t0; + }, + ListEquality: function ListEquality(t0) { + this.$ti = t0; + }, + NonGrowableListMixin: function NonGrowableListMixin() { + }, + UnmodifiableMapMixin: function UnmodifiableMapMixin() { + }, + DriftCommunication$(_channel, debugLog, serialize) { + var t1 = new A.DriftCommunication(_channel, false, true, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._PendingRequest), A.StreamController_StreamController(null, null, true, type$.Request_2), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void)); + t1.DriftCommunication$3$debugLog$serialize(_channel, false, true); + return t1; + }, + DriftCommunication: function DriftCommunication(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._channel = t0; + _._debugLog = t1; + _._serialize = t2; + _._currentRequestId = 0; + _._pendingRequests = t3; + _._incomingRequests = t4; + _._startedClosingLocally = false; + _._closeCompleter = t5; + }, + DriftCommunication_closure: function DriftCommunication_closure(t0) { + this.$this = t0; + }, + DriftCommunication_setRequestHandler_closure: function DriftCommunication_setRequestHandler_closure(t0, t1) { + this.$this = t0; + this.handler = t1; + }, + _PendingRequest: function _PendingRequest(t0, t1) { + this.completer = t0; + this.requestTrace = t1; + }, + ConnectionClosedException: function ConnectionClosedException() { + }, + DriftRemoteException: function DriftRemoteException(t0) { + this.remoteCause = t0; + }, + DriftProtocol: function DriftProtocol() { + }, + DriftProtocol_decodePayload_readInt: function DriftProtocol_decodePayload_readInt(t0) { + this._box_0 = t0; + }, + DriftProtocol_decodePayload_readNullableInt: function DriftProtocol_decodePayload_readNullableInt(t0) { + this._box_0 = t0; + }, + Message: function Message() { + }, + Request: function Request(t0, t1) { + this.id = t0; + this.payload = t1; + }, + SuccessResponse: function SuccessResponse(t0, t1) { + this.requestId = t0; + this.response = t1; + }, + ErrorResponse: function ErrorResponse(t0, t1, t2) { + this.requestId = t0; + this.error = t1; + this.stackTrace = t2; + }, + CancelledResponse: function CancelledResponse(t0) { + this.requestId = t0; + }, + NoArgsRequest: function NoArgsRequest(t0, t1) { + this.index = t0; + this._name = t1; + }, + StatementMethod: function StatementMethod(t0, t1) { + this.index = t0; + this._name = t1; + }, + ExecuteQuery: function ExecuteQuery(t0, t1, t2, t3) { + var _ = this; + _.method = t0; + _.sql = t1; + _.args = t2; + _.executorId = t3; + }, + RequestCancellation: function RequestCancellation(t0) { + this.originalRequestId = t0; + }, + ExecuteBatchedStatement: function ExecuteBatchedStatement(t0, t1) { + this.stmts = t0; + this.executorId = t1; + }, + TransactionControl: function TransactionControl(t0, t1) { + this.index = t0; + this._name = t1; + }, + RunTransactionAction: function RunTransactionAction(t0, t1) { + this.control = t0; + this.executorId = t1; + }, + EnsureOpen: function EnsureOpen(t0, t1) { + this.schemaVersion = t0; + this.executorId = t1; + }, + ServerInfo: function ServerInfo(t0) { + this.dialect = t0; + }, + RunBeforeOpen: function RunBeforeOpen(t0, t1) { + this.details = t0; + this.createdExecutor = t1; + }, + NotifyTablesUpdated: function NotifyTablesUpdated(t0) { + this.updates = t0; + }, + SelectResult: function SelectResult(t0) { + this.rows = t0; + }, + ServerImplementation$(connection, allowRemoteShutdown, closeExecutorWhenShutdown) { + var t1 = type$.int; + t1 = new A.ServerImplementation(connection, allowRemoteShutdown, true, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.QueryExecutor), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.CancellationToken_dynamic), A._setArrayType([], type$.JSArray_int), A.StreamController_StreamController$broadcast(true, type$.void), A.LinkedHashSet_LinkedHashSet$_empty(type$.DriftCommunication), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), A.StreamController_StreamController(null, null, false, type$.NotifyTablesUpdated)); + t1.ServerImplementation$3(connection, allowRemoteShutdown, true); + return t1; + }, + ServerImplementation: function ServerImplementation(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) { + var _ = this; + _.connection = t0; + _.allowRemoteShutdown = t1; + _.closeExecutorWhenShutdown = t2; + _._managedExecutors = t3; + _._knownSchemaVersion = _._currentExecutorId = 0; + _._cancellableOperations = t4; + _._executorBacklog = t5; + _._backlogUpdated = t6; + _._isShuttingDown = false; + _._activeChannels = t7; + _._done = t8; + _._tableUpdateNotifications = t9; + }, + ServerImplementation_closure: function ServerImplementation_closure(t0) { + this.$this = t0; + }, + ServerImplementation_serve_closure: function ServerImplementation_serve_closure(t0, t1) { + this.$this = t0; + this.comm = t1; + }, + ServerImplementation_serve_closure0: function ServerImplementation_serve_closure0(t0, t1) { + this.$this = t0; + this.comm = t1; + }, + ServerImplementation__handleRequest_closure: function ServerImplementation__handleRequest_closure(t0, t1) { + this.$this = t0; + this.payload = t1; + }, + ServerImplementation__handleRequest_closure0: function ServerImplementation__handleRequest_closure0(t0, t1) { + this.$this = t0; + this.request = t1; + }, + ServerImplementation__waitForTurn_idIsActive: function ServerImplementation__waitForTurn_idIsActive(t0, t1) { + this.$this = t0; + this.transactionId = t1; + }, + ServerImplementation__waitForTurn_closure: function ServerImplementation__waitForTurn_closure(t0) { + this.idIsActive = t0; + }, + _ServerDbUser: function _ServerDbUser(t0, t1, t2) { + this._server = t0; + this.connection = t1; + this.schemaVersion = t2; + }, + DatabaseConnection_DatabaseConnection$delayed(connection) { + var t1 = A.DelayedStreamQueryStore$(connection.then$1$1(new A.DatabaseConnection_DatabaseConnection$delayed_closure(), type$.StreamQueryStore)), + t2 = connection.then$1$1(new A.DatabaseConnection_DatabaseConnection$delayed_closure0(), type$.nullable_Object); + return new A.DatabaseConnection(new A.LazyDatabase(B.SqlDialect_0, new A.DatabaseConnection_DatabaseConnection$delayed_closure1(connection)), t1, t2); + }, + DatabaseConnection: function DatabaseConnection(t0, t1, t2) { + this.executor = t0; + this.streamQueries = t1; + this.connectionData = t2; + }, + DatabaseConnection_DatabaseConnection$delayed_closure1: function DatabaseConnection_DatabaseConnection$delayed_closure1(t0) { + this.connection = t0; + }, + DatabaseConnection_DatabaseConnection$delayed_closure: function DatabaseConnection_DatabaseConnection$delayed_closure() { + }, + DatabaseConnection_DatabaseConnection$delayed_closure0: function DatabaseConnection_DatabaseConnection$delayed_closure0() { + }, + UpdateKind: function UpdateKind(t0, t1) { + this.index = t0; + this._name = t1; + }, + TableUpdate: function TableUpdate(t0, t1) { + this.kind = t0; + this.table = t1; + }, + runCancellable(operation, $T) { + var token = new A.CancellationToken(new A._SyncCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_SyncCompleter<0>")), A._setArrayType([], type$.JSArray_of_void_Function), $T._eval$1("CancellationToken<0>")), + t1 = type$.nullable_Object; + A.runZoned(new A.runCancellable_closure(token, operation, $T), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol_HZS, token], t1, t1), type$.void); + return token; + }, + checkIfCancelled() { + var token = $.Zone__current.$index(0, B.Symbol_HZS); + if (token instanceof A.CancellationToken && token._cancellationRequested) + throw A.wrapException(B.C_CancellationException); + }, + runCancellable_closure: function runCancellable_closure(t0, t1, t2) { + this.token = t0; + this.operation = t1; + this.T = t2; + }, + CancellationToken: function CancellationToken(t0, t1, t2) { + var _ = this; + _._resultCompleter = t0; + _._cancellationCallbacks = t1; + _._cancellationRequested = false; + _.$ti = t2; + }, + CancellationException: function CancellationException() { + }, + DelayedStreamQueryStore$(delegate) { + var t1 = new A.DelayedStreamQueryStore(); + t1.DelayedStreamQueryStore$1(delegate); + return t1; + }, + DelayedStreamQueryStore: function DelayedStreamQueryStore() { + }, + DelayedStreamQueryStore_closure: function DelayedStreamQueryStore_closure(t0) { + this.$this = t0; + }, + QueryExecutor: function QueryExecutor() { + }, + BatchedStatements: function BatchedStatements(t0, t1) { + this.statements = t0; + this.$arguments = t1; + }, + ArgumentsForBatchedStatement: function ArgumentsForBatchedStatement(t0, t1) { + this.statementIndex = t0; + this.$arguments = t1; + }, + DatabaseDelegate: function DatabaseDelegate() { + }, + QueryDelegate: function QueryDelegate() { + }, + TransactionDelegate: function TransactionDelegate() { + }, + NoTransactionDelegate: function NoTransactionDelegate() { + }, + DbVersionDelegate: function DbVersionDelegate() { + }, + DynamicVersionDelegate: function DynamicVersionDelegate() { + }, + _BaseExecutor: function _BaseExecutor() { + }, + _BaseExecutor__synchronized_closure: function _BaseExecutor__synchronized_closure(t0, t1) { + this.action = t0; + this.T = t1; + }, + _BaseExecutor_runSelect_closure: function _BaseExecutor_runSelect_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runDelete_closure: function _BaseExecutor_runDelete_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runInsert_closure: function _BaseExecutor_runInsert_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runCustom_closure: function _BaseExecutor_runCustom_closure(t0, t1, t2) { + this.$this = t0; + this.args = t1; + this.statement = t2; + }, + _BaseExecutor_runBatched_closure: function _BaseExecutor_runBatched_closure(t0, t1) { + this.$this = t0; + this.statements = t1; + }, + _TransactionExecutor: function _TransactionExecutor() { + }, + _StatementBasedTransactionExecutor: function _StatementBasedTransactionExecutor(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _._engines$_delegate = t0; + _._opened = null; + _._engines$_done = t1; + _._parent = t2; + _._startCommand = t3; + _._commitCommand = t4; + _._rollbackCommand = t5; + _._db = t6; + _._lock = t7; + _._waitingTransactions = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _StatementBasedTransactionExecutor_ensureOpen_closure: function _StatementBasedTransactionExecutor_ensureOpen_closure(t0) { + this.$this = t0; + }, + _StatementBasedTransactionExecutor_ensureOpen_closure0: function _StatementBasedTransactionExecutor_ensureOpen_closure0(t0) { + this.parent = t0; + }, + DelegatedDatabase: function DelegatedDatabase() { + }, + DelegatedDatabase_ensureOpen_closure: function DelegatedDatabase_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.user = t1; + }, + DelegatedDatabase_close_closure: function DelegatedDatabase_close_closure(t0) { + this.$this = t0; + }, + _BeforeOpeningExecutor: function _BeforeOpeningExecutor(t0, t1) { + var _ = this; + _._base = t0; + _._lock = t1; + _._waitingTransactions = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + QueryResult$(columnNames, rows) { + var t2, _i, column, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + for (t2 = columnNames.length, _i = 0; _i < columnNames.length; columnNames.length === t2 || (0, A.throwConcurrentModificationError)(columnNames), ++_i) { + column = columnNames[_i]; + t1.$indexSet(0, column, B.JSArray_methods.lastIndexOf$1(columnNames, column)); + } + return new A.QueryResult(columnNames, rows, t1); + }, + QueryResult_QueryResult$fromRows(rows) { + var keys, t1, t2, _i, row, t3, t4, t5, _i0; + if (rows.length === 0) + return A.QueryResult$(B.List_empty0, B.List_empty1); + keys = J.toList$0$ax(J.get$keys$x(B.JSArray_methods.get$first(rows))); + t1 = A._setArrayType([], type$.JSArray_List_dynamic); + for (t2 = rows.length, _i = 0; _i < rows.length; rows.length === t2 || (0, A.throwConcurrentModificationError)(rows), ++_i) { + row = rows[_i]; + t3 = []; + for (t4 = keys.length, t5 = J.getInterceptor$asx(row), _i0 = 0; _i0 < keys.length; keys.length === t4 || (0, A.throwConcurrentModificationError)(keys), ++_i0) + t3.push(t5.$index(row, keys[_i0])); + t1.push(t3); + } + return A.QueryResult$(keys, t1); + }, + QueryResult: function QueryResult(t0, t1, t2) { + this.columnNames = t0; + this.rows = t1; + this._columnIndexes = t2; + }, + QueryResult_asMap_closure: function QueryResult_asMap_closure(t0) { + this.$this = t0; + }, + StreamQueryStore$() { + return new A.StreamQueryStore(A.LinkedHashMap_LinkedHashMap$_empty(type$.StreamKey, type$.QueryStream), A.HashSet_HashSet(type$.nullable_StreamKey), A.LinkedHashSet_LinkedHashSet$_empty(type$.Completer_dynamic), A.StreamController_StreamController$broadcast(true, type$.Set_TableUpdate)); + }, + StreamQueryStore: function StreamQueryStore(t0, t1, t2, t3) { + var _ = this; + _._activeKeyStreams = t0; + _._keysPendingRemoval = t1; + _._pendingTimers = t2; + _._tableUpdates = t3; + }, + OpeningDetails: function OpeningDetails(t0, t1) { + this.versionBefore = t0; + this.versionNow = t1; + }, + SqlDialect: function SqlDialect(t0, t1) { + this.index = t0; + this._name = t1; + }, + Sqlite3Delegate: function Sqlite3Delegate() { + }, + _SqliteVersionDelegate: function _SqliteVersionDelegate(t0) { + this.database = t0; + }, + PreparedStatementsCache: function PreparedStatementsCache(t0) { + this._cachedStatements = t0; + }, + EnableNativeFunctions_useNativeFunctions(_this) { + var _s13_ = "moor_contains"; + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___pow$closure(), "power"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___pow$closure(), "pow"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__sqrt$closure()), "sqrt"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__sin$closure()), "sin"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__cos$closure()), "cos"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__tan$closure()), "tan"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__asin$closure()), "asin"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__acos$closure()), "acos"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__atan$closure()), "atan"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___regexpImpl$closure(), "regexp"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_3, true, A.native_functions___regexpImpl$closure(), "regexp_moor_ffi"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___containsImpl$closure(), _s13_); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_3, true, A.native_functions___containsImpl$closure(), _s13_); + _this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(B.AllowedArgumentCount_0, true, false, new A.EnableNativeFunctions_useNativeFunctions_closure(), "current_time_millis"); + }, + _pow(args) { + var first = args.$index(0, 0), + second = args.$index(0, 1); + if (first == null || second == null || typeof first != "number" || typeof second != "number") + return null; + return Math.pow(first, second); + }, + _unaryNumFunction(calculation) { + return new A._unaryNumFunction_closure(calculation); + }, + _regexpImpl(args) { + var firstParam, regex, secondParam, value, t1, t2, t3, exception, + multiLine = false, + caseSensitive = true, + unicode = false, + dotAll = false, + argCount = args.rawValues.length; + if (argCount < 2 || argCount > 3) + throw A.wrapException("Expected two or three arguments to regexp"); + firstParam = args.$index(0, 0); + secondParam = args.$index(0, 1); + if (firstParam == null || secondParam == null) + return null; + if (typeof firstParam != "string" || typeof secondParam != "string") + throw A.wrapException("Expected two strings as parameters to regexp"); + if (argCount === 3) { + value = args.$index(0, 2); + if (A._isInt(value)) { + multiLine = (value & 1) === 1; + caseSensitive = (value & 2) !== 2; + unicode = (value & 4) === 4; + dotAll = (value & 8) === 8; + } + } + regex = null; + try { + t1 = multiLine; + t2 = caseSensitive; + t3 = unicode; + regex = A.RegExp_RegExp(firstParam, t2, dotAll, t1, t3); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.FormatException) + throw A.wrapException("Invalid regex"); + else + throw exception; + } + t1 = regex._nativeRegExp; + return t1.test(secondParam); + }, + _containsImpl(args) { + var first, second, + argCount = args.rawValues.length; + if (argCount < 2 || argCount > 3) + throw A.wrapException("Expected 2 or 3 arguments to moor_contains"); + first = args.$index(0, 0); + second = args.$index(0, 1); + if (typeof first != "string" || typeof second != "string") + throw A.wrapException("First two args to contains must be strings"); + return argCount === 3 && args.$index(0, 2) === 1 ? J.contains$1$asx(first, second) : B.JSString_methods.contains$1(first.toLowerCase(), second.toLowerCase()); + }, + EnableNativeFunctions_useNativeFunctions_closure: function EnableNativeFunctions_useNativeFunctions_closure() { + }, + _unaryNumFunction_closure: function _unaryNumFunction_closure(t0) { + this.calculation = t0; + }, + LazyDatabase: function LazyDatabase(t0, t1) { + var _ = this; + _.__LazyDatabase__delegate_F = $; + _._delegateAvailable = false; + _._dialect = t0; + _._openDelegate = null; + _.opener = t1; + }, + LazyDatabase__awaitOpened_closure: function LazyDatabase__awaitOpened_closure(t0, t1) { + this.$this = t0; + this.delegate = t1; + }, + LazyDatabase_ensureOpen_closure: function LazyDatabase_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.user = t1; + }, + Lock: function Lock() { + this._synchronized$_last = null; + }, + Lock_synchronized_callBlockAndComplete: function Lock_synchronized_callBlockAndComplete(t0, t1, t2) { + this.block = t0; + this.blockCompleted = t1; + this.T = t2; + }, + Lock_synchronized_closure: function Lock_synchronized_closure(t0, t1) { + this.callBlockAndComplete = t0; + this.T = t1; + }, + PortToChannel_channel(_this) { + var t4, _null = null, + _s8_ = "_foreign", + controller = new A.StreamChannelController(type$.StreamChannelController_nullable_Object), + t1 = type$.nullable_Object, + localToForeignController = A.StreamController_StreamController(_null, _null, false, t1), + foreignToLocalController = A.StreamController_StreamController(_null, _null, false, t1), + t2 = A._instanceType(foreignToLocalController), + t3 = A._instanceType(localToForeignController); + controller.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t2._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t3._eval$1("_StreamSinkWrapper<1>")), true, t1)); + t1 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t3._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t2._eval$1("_StreamSinkWrapper<1>")), true, t1); + controller.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI(_s8_); + controller.set$__StreamChannelController__foreign_F(t1); + t1 = type$._EventStream_MessageEvent; + t2 = t1._eval$1("@(Stream.T)")._as(new A.PortToChannel_channel_closure()); + t3 = controller.__StreamChannelController__local_F; + t3 === $ && A.throwLateFieldNI("_local"); + t4 = t3.__GuaranteeChannel__sink_F; + t4 === $ && A.throwLateFieldNI("_sink"); + new A._MapStream(t2, new A._EventStream(_this, "message", false, t1), t1._eval$1("_MapStream")).pipe$1(t4); + t3 = t3.__GuaranteeChannel__streamController_F; + t3 === $ && A.throwLateFieldNI("_streamController"); + new A._ControllerStream(t3, A._instanceType(t3)._eval$1("_ControllerStream<1>")).listen$2$onDone(B.MessagePort_methods.get$postMessage(_this), B.MessagePort_methods.get$close(_this)); + t3 = controller.__StreamChannelController__foreign_F; + t3 === $ && A.throwLateFieldNI(_s8_); + return t3; + }, + PortToChannel_channel_closure: function PortToChannel_channel_closure() { + }, + WasmDatabase: function WasmDatabase(t0, t1, t2, t3, t4) { + var _ = this; + _.delegate = t0; + _.logStatements = t1; + _.isSequential = t2; + _._openingLock = t3; + _._lock = t4; + _._waitingTransactions = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _WasmDelegate: function _WasmDelegate(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._sqlite3 = t0; + _._path = t1; + _._fileSystem = t2; + _._database = null; + _._isOpen = _._hasInitializedDatabase = false; + _._setup = t3; + _.cachePreparedStatements = t4; + _._preparedStmtsCache = t5; + _.__Sqlite3Delegate_versionDelegate_A = $; + _.isInTransaction = false; + }, + DriftWorkerMode: function DriftWorkerMode(t0, t1) { + this.index = t0; + this._name = t1; + }, + _RunningDriftWorker: function _RunningDriftWorker(t0, t1) { + var _ = this; + _.isShared = t0; + _.connectionFactory = t1; + _._dedicatedWorker = _._knownMode = _._startedServer = null; + }, + _RunningDriftWorker_start_closure: function _RunningDriftWorker_start_closure() { + }, + _RunningDriftWorker__establishModeAndLaunchServer_closure: function _RunningDriftWorker__establishModeAndLaunchServer_closure(t0) { + this.$this = t0; + }, + _RunningDriftWorker__newConnection_remainingChannel: function _RunningDriftWorker__newConnection_remainingChannel(t0, t1) { + this._box_0 = t0; + this.originalChannel = t1; + }, + _RunningDriftWorker__newConnection_remainingChannel_closure: function _RunningDriftWorker__newConnection_remainingChannel_closure(t0) { + this._box_0 = t0; + }, + _RunningDriftWorker__newConnection_closure: function _RunningDriftWorker__newConnection_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.originalChannel = t1; + _.remainingChannel = t2; + _.outgoingPort = t3; + }, + _validateArgList(method, args) { + var numArgs, i, numArgs0, message, t1, t2, t3, t4; + for (numArgs = args.length, i = 1; i < numArgs; ++i) { + if (args[i] == null || args[i - 1] != null) + continue; + for (; numArgs >= 1; numArgs = numArgs0) { + numArgs0 = numArgs - 1; + if (args[numArgs0] != null) + break; + } + message = new A.StringBuffer(""); + t1 = "" + (method + "("); + message._contents = t1; + t2 = A._arrayInstanceType(args); + t3 = t2._eval$1("SubListIterable<1>"); + t4 = new A.SubListIterable(args, 0, numArgs, t3); + t4.SubListIterable$3(args, 0, numArgs, t2._precomputed1); + t3 = t1 + new A.MappedListIterable(t4, t3._eval$1("String(ListIterable.E)")._as(new A._validateArgList_closure()), t3._eval$1("MappedListIterable")).join$1(0, ", "); + message._contents = t3; + message._contents = t3 + ("): part " + (i - 1) + " was null, but part " + i + " was not."); + throw A.wrapException(A.ArgumentError$(message.toString$0(0), null)); + } + }, + Context: function Context(t0, t1) { + this.style = t0; + this._context$_current = t1; + }, + Context_joinAll_closure: function Context_joinAll_closure() { + }, + _validateArgList_closure: function _validateArgList_closure() { + }, + InternalStyle: function InternalStyle() { + }, + ParsedPath_ParsedPath$parse(path, style) { + var t1, parts, separators, start, i, + root = style.getRoot$1(path); + style.isRootRelative$1(path); + if (root != null) + path = B.JSString_methods.substring$1(path, root.length); + t1 = type$.JSArray_String; + parts = A._setArrayType([], t1); + separators = A._setArrayType([], t1); + t1 = path.length; + if (t1 !== 0 && style.isSeparator$1(B.JSString_methods._codeUnitAt$1(path, 0))) { + if (0 >= t1) + return A.ioore(path, 0); + B.JSArray_methods.add$1(separators, path[0]); + start = 1; + } else { + B.JSArray_methods.add$1(separators, ""); + start = 0; + } + for (i = start; i < t1; ++i) + if (style.isSeparator$1(B.JSString_methods._codeUnitAt$1(path, i))) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(path, start, i)); + B.JSArray_methods.add$1(separators, path[i]); + start = i + 1; + } + if (start < t1) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$1(path, start)); + B.JSArray_methods.add$1(separators, ""); + } + return new A.ParsedPath(root, parts, separators); + }, + ParsedPath: function ParsedPath(t0, t1, t2) { + this.root = t0; + this.parts = t1; + this.separators = t2; + }, + Style__getPlatformStyle() { + var t1, userInfo, host, query, fragment, port, hasAuthority, path, _null = null; + if (A.Uri_base().get$scheme() !== "file") + return $.$get$Style_url(); + t1 = A.Uri_base(); + if (!B.JSString_methods.endsWith$1(t1.get$path(t1), "/")) + return $.$get$Style_url(); + userInfo = A._Uri__makeUserInfo(_null, 0, 0); + host = A._Uri__makeHost(_null, 0, 0, false); + query = A._Uri__makeQuery(_null, 0, 0, _null); + fragment = A._Uri__makeFragment(_null, 0, 0); + port = A._Uri__makePort(_null, ""); + if (host == null) + t1 = userInfo.length !== 0 || port != null || false; + else + t1 = false; + if (t1) + host = ""; + t1 = host == null; + hasAuthority = !t1; + path = A._Uri__makePath("a/b", 0, 3, _null, "", hasAuthority); + if (t1 && !B.JSString_methods.startsWith$1(path, "/")) + path = A._Uri__normalizeRelativePath(path, hasAuthority); + else + path = A._Uri__removeDotSegments(path); + if (A._Uri$_internal("", userInfo, t1 && B.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment).toFilePath$0() === "a\\b") + return $.$get$Style_windows(); + return $.$get$Style_posix(); + }, + Style: function Style() { + }, + PosixStyle: function PosixStyle(t0, t1, t2) { + this.separatorPattern = t0; + this.needsSeparatorPattern = t1; + this.rootPattern = t2; + }, + UrlStyle: function UrlStyle(t0, t1, t2, t3) { + var _ = this; + _.separatorPattern = t0; + _.needsSeparatorPattern = t1; + _.rootPattern = t2; + _.relativeRootPattern = t3; + }, + WindowsStyle: function WindowsStyle(t0, t1, t2, t3) { + var _ = this; + _.separatorPattern = t0; + _.needsSeparatorPattern = t1; + _.rootPattern = t2; + _.relativeRootPattern = t3; + }, + SqliteException: function SqliteException(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.message = t0; + _.explanation = t1; + _.extendedResultCode = t2; + _.operation = t3; + _.causingStatement = t4; + _.parametersToStatement = t5; + }, + SqliteException_toString_closure: function SqliteException_toString_closure() { + }, + AllowedArgumentCount: function AllowedArgumentCount(t0) { + this.allowedArgs = t0; + }, + SqliteResult: function SqliteResult(t0, t1, t2) { + this.resultCode = t0; + this.result = t1; + this.$ti = t2; + }, + RawSqliteContext: function RawSqliteContext() { + }, + RawSqliteValue: function RawSqliteValue() { + }, + _extension_0_runWithArgsAndSetResult(_this, $function, args) { + var e, t1, encoded, ptr, t2, exception, + dartArgs = new A.ValueList(args, A.List_List$filled(args.length, null, false, type$.nullable_Object)); + try { + t1 = $function.call$1(dartArgs); + if (t1 == null) + _this.bindings._sqlite3_result_null.call$1(_this.context); + else if (A._isInt(t1)) + _this.bindings.sqlite3_result_int64$2(_this.context, A._BigIntImpl__BigIntImpl$from(t1)); + else if (type$.BigInt._is(t1)) + _this.bindings.sqlite3_result_int64$2(_this.context, A._BigIntImpl__BigIntImpl$from(A.BigIntRangeCheck_get_checkRange(t1).toInt$0(0))); + else if (typeof t1 == "number") + _this.bindings._sqlite3_result_double.call$2(_this.context, t1); + else if (A._isBool(t1)) + _this.bindings.sqlite3_result_int64$2(_this.context, A._BigIntImpl__BigIntImpl$from(t1 ? 1 : 0)); + else if (typeof t1 == "string") { + type$.Utf8Codec._eval$1("Codec.S")._as(t1); + encoded = B.C_Utf8Codec.get$encoder().convert$1(t1); + t1 = _this.bindings; + ptr = t1.allocateBytes$1(encoded); + t1._sqlite3_result_text.call$4(_this.context, ptr, encoded.length, -1); + t1._free.call$1(ptr); + } else { + t2 = type$.List_int; + if (t2._is(t1)) { + t2._as(t1); + t2 = _this.bindings; + ptr = t2.allocateBytes$1(t1); + t2._sqlite3_result_blob64.call$4(_this.context, ptr, self.BigInt(J.get$length$asx(t1)), -1); + t2._free.call$1(ptr); + } else + A.throwExpression(A.ArgumentError$value(t1, "result", "Unsupported type")); + } + } catch (exception) { + e = A.unwrapException(exception); + t1 = type$.Utf8Codec._eval$1("Codec.S")._as(A.Error_safeToString(e)); + encoded = B.C_Utf8Codec.get$encoder().convert$1(t1); + t1 = _this.bindings; + ptr = t1.allocateBytes$1(encoded); + t1._sqlite3_result_error.call$3(_this.context, ptr, encoded.length); + t1._free.call$1(ptr); + } finally { + dartArgs.isValid = false; + } + }, + FinalizableDatabase: function FinalizableDatabase(t0, t1, t2) { + this.bindings = t0; + this.database = t1; + this._statements = t2; + }, + DatabaseImplementation: function DatabaseImplementation(t0, t1, t2, t3) { + var _ = this; + _.bindings = t0; + _.database = t1; + _.finalizable = t2; + _._updateListeners = t3; + _._isClosed = false; + }, + DatabaseImplementation_createFunction_closure: function DatabaseImplementation_createFunction_closure(t0) { + this.$function = t0; + }, + DatabaseImplementation__prepareInternal_freeIntermediateResults: function DatabaseImplementation__prepareInternal_freeIntermediateResults(t0, t1) { + this.compiler = t0; + this.createdStatements = t1; + }, + ValueList: function ValueList(t0, t1) { + this.rawValues = t0; + this._cachedCopies = t1; + this.isValid = true; + }, + FinalizablePart: function FinalizablePart() { + }, + disposeFinalizer_closure: function disposeFinalizer_closure() { + }, + Sqlite3Implementation: function Sqlite3Implementation() { + }, + FinalizableStatement: function FinalizableStatement(t0) { + this.statement = t0; + this._inResetState = true; + this._statement$_closed = false; + }, + StatementImplementation: function StatementImplementation(t0, t1, t2, t3) { + var _ = this; + _.statement = t0; + _.database = t1; + _.finalizable = t2; + _.sql = t3; + _._latestArguments = null; + }, + Cursor0: function Cursor0() { + }, + ResultSet: function ResultSet(t0, t1, t2) { + this.rows = t0; + this._result_set$_columnNames = t1; + this._calculatedIndexes = t2; + }, + Row: function Row(t0, t1) { + this._result = t0; + this._data = t1; + }, + _ResultIterator: function _ResultIterator(t0) { + this.result = t0; + this.index = -1; + }, + _ResultSet_Cursor_ListMixin: function _ResultSet_Cursor_ListMixin() { + }, + _ResultSet_Cursor_ListMixin_NonGrowableListMixin: function _ResultSet_Cursor_ListMixin_NonGrowableListMixin() { + }, + _Row_Object_UnmodifiableMapMixin: function _Row_Object_UnmodifiableMapMixin() { + }, + _Row_Object_UnmodifiableMapMixin_MapMixin: function _Row_Object_UnmodifiableMapMixin_MapMixin() { + }, + OpenMode: function OpenMode(t0, t1) { + this.index = t0; + this._name = t1; + }, + WasmSqliteBindings: function WasmSqliteBindings(t0) { + this.bindings = t0; + }, + WasmDatabase0: function WasmDatabase0(t0, t1) { + this.bindings = t0; + this.db = t1; + }, + WasmStatementCompiler: function WasmStatementCompiler(t0, t1, t2, t3) { + var _ = this; + _.database = t0; + _.sql = t1; + _.stmtOut = t2; + _.pzTail = t3; + }, + WasmStatement: function WasmStatement(t0, t1, t2) { + this.stmt = t0; + this.bindings = t1; + this._allocatedArguments = t2; + }, + WasmContext: function WasmContext(t0, t1) { + this.bindings = t0; + this.context = t1; + }, + WasmValue: function WasmValue(t0, t1) { + this.bindings = t0; + this.value = t1; + }, + WasmValueList: function WasmValueList(t0, t1, t2) { + this.bindings = t0; + this.length = t1; + this.value = t2; + }, + SqliteEnvironment$(fileSystem) { + var t1 = $.$get$Random__secureRandom(); + t1 = t1; + return new A.SqliteEnvironment(t1, fileSystem == null ? new A.InMemoryFileSystem(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Uint8List)) : fileSystem); + }, + SqliteEnvironment: function SqliteEnvironment(t0, t1) { + this.random = t0; + this.fileSystem = t1; + }, + FileSystemException$(errorCode, message) { + return new A.FileSystemException(errorCode, message); + }, + FileSystemException: function FileSystemException(t0, t1) { + this.errorCode = t0; + this.message = t1; + }, + IndexedDbFileSystem_open(dbName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.IndexedDbFileSystem), + $async$returnValue, t1, t2, fs; + var $async$IndexedDbFileSystem_open = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.String; + t2 = new A.AsynchronousIndexedDbFileSystem(dbName); + fs = new A.IndexedDbFileSystem(t2, new A.InMemoryFileSystem(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_Uint8List)), new A.LinkedList(type$.LinkedList__IndexedDbWorkItem), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int)); + $async$goto = 3; + return A._asyncAwait(t2.open$0(0), $async$IndexedDbFileSystem_open); + case 3: + // returning from await. + $async$goto = 4; + return A._asyncAwait(fs._readFiles$0(), $async$IndexedDbFileSystem_open); + case 4: + // returning from await. + $async$returnValue = fs; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$IndexedDbFileSystem_open, $async$completer); + }, + AsynchronousIndexedDbFileSystem: function AsynchronousIndexedDbFileSystem(t0) { + this._indexed_db$_database = null; + this._dbName = t0; + }, + AsynchronousIndexedDbFileSystem_open_closure0: function AsynchronousIndexedDbFileSystem_open_closure0() { + }, + AsynchronousIndexedDbFileSystem_open_closure: function AsynchronousIndexedDbFileSystem_open_closure(t0) { + this.completer = t0; + }, + AsynchronousIndexedDbFileSystem__readFile_closure: function AsynchronousIndexedDbFileSystem__readFile_closure(t0) { + this.fileId = t0; + }, + AsynchronousIndexedDbFileSystem_readFully_closure: function AsynchronousIndexedDbFileSystem_readFully_closure(t0, t1, t2, t3) { + var _ = this; + _.row = t0; + _.result = t1; + _.rowOffset = t2; + _.length = t3; + }, + AsynchronousIndexedDbFileSystem__write_writeBlock: function AsynchronousIndexedDbFileSystem__write_writeBlock(t0, t1) { + this.blocks = t0; + this.fileId = t1; + }, + AsynchronousIndexedDbFileSystem__write_closure: function AsynchronousIndexedDbFileSystem__write_closure(t0, t1) { + this.writeBlock = t0; + this.writes = t1; + }, + _FileEntry: function _FileEntry() { + }, + _FileWriteRequest: function _FileWriteRequest(t0, t1, t2) { + this.originalContent = t0; + this.replacedBlocks = t1; + this.newFileLength = t2; + }, + _FileWriteRequest__updateBlock_closure: function _FileWriteRequest__updateBlock_closure(t0, t1) { + this.$this = t0; + this.blockOffset = t1; + }, + _OffsetAndBuffer: function _OffsetAndBuffer(t0, t1) { + this.offset = t0; + this.buffer = t1; + }, + IndexedDbFileSystem: function IndexedDbFileSystem(t0, t1, t2, t3, t4) { + var _ = this; + _._asynchronous = t0; + _._currentWorkItem = null; + _._memory = t1; + _._pendingWork = t2; + _._inMemoryOnlyFiles = t3; + _._knownFileIds = t4; + }, + IndexedDbFileSystem__startWorkingIfNeeded_closure: function IndexedDbFileSystem__startWorkingIfNeeded_closure(t0) { + this.$this = t0; + }, + IndexedDbFileSystem_truncateFile_closure: function IndexedDbFileSystem_truncateFile_closure(t0, t1, t2) { + this.$this = t0; + this.path = t1; + this.length = t2; + }, + _IndexedDbWorkItem: function _IndexedDbWorkItem() { + }, + _FunctionWorkItem: function _FunctionWorkItem(t0, t1) { + var _ = this; + _.work = t0; + _.completer = t1; + _._collection$_previous = _._collection$_next = _._list = null; + }, + _DeleteFileWorkItem: function _DeleteFileWorkItem(t0, t1, t2) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.completer = t2; + _._collection$_previous = _._collection$_next = _._list = null; + }, + _CreateFileWorkItem: function _CreateFileWorkItem(t0, t1, t2) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.completer = t2; + _._collection$_previous = _._collection$_next = _._list = null; + }, + _WriteFileWorkItem: function _WriteFileWorkItem(t0, t1, t2, t3, t4) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.originalContent = t2; + _.writes = t3; + _.completer = t4; + _._collection$_previous = _._collection$_next = _._list = null; + }, + InMemoryFileSystem: function InMemoryFileSystem(t0) { + this.fileData = t0; + }, + InMemoryFileSystem_createFile_closure: function InMemoryFileSystem_createFile_closure() { + }, + JsBigInt: function JsBigInt(t0) { + this._jsBigInt = t0; + }, + FetchOptions: function FetchOptions() { + }, + ResponseInit: function ResponseInit() { + }, + _GetFileHandleOptions: function _GetFileHandleOptions() { + }, + _RemoveEntryOptions: function _RemoveEntryOptions() { + }, + FileSystemReadWriteOptions: function FileSystemReadWriteOptions() { + }, + ObjectStoreExt_putRequestUnsafe(_this, value) { + return A.callMethod(_this, "put", [value], type$.Request); + }, + RequestExt_completed(_this, convertResultToDart, $T) { + var t3, t4, t5, t1 = {}, + t2 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t2, $T._eval$1("_SyncCompleter<0>")); + t1.error = t1.success = null; + t3 = new A.RequestExt_completed_cancel(t1); + t4 = type$.nullable_void_Function_Event; + t5 = type$.Event; + t1.success = A._EventStreamSubscription$(_this, "success", t4._as(new A.RequestExt_completed_closure(t3, completer, convertResultToDart, _this, $T)), false, t5); + t1.error = A._EventStreamSubscription$(_this, "error", t4._as(new A.RequestExt_completed_closure0(t1, t3, completer)), false, t5); + return t2; + }, + RequestExt_completed_cancel: function RequestExt_completed_cancel(t0) { + this._box_0 = t0; + }, + RequestExt_completed_closure: function RequestExt_completed_closure(t0, t1, t2, t3, t4) { + var _ = this; + _.cancel = t0; + _.completer = t1; + _.convertResultToDart = t2; + _._this = t3; + _.T = t4; + }, + RequestExt_completed__closure: function RequestExt_completed__closure(t0, t1, t2) { + this.convertResultToDart = t0; + this._this = t1; + this.T = t2; + }, + RequestExt_completed_closure0: function RequestExt_completed_closure0(t0, t1, t2) { + this._box_0 = t0; + this.cancel = t1; + this.completer = t2; + }, + _CursorReader: function _CursorReader(t0, t1) { + var _ = this; + _._indexed_db0$_onError = _._onSuccess = _._cursor = null; + _._cursorRequest = t0; + _.$ti = t1; + }, + _CursorReader_moveNext_closure: function _CursorReader_moveNext_closure(t0, t1) { + this.$this = t0; + this.completer = t1; + }, + _CursorReader_moveNext_closure0: function _CursorReader_moveNext_closure0(t0, t1) { + this.$this = t0; + this.completer = t1; + }, + DatabaseName: function DatabaseName() { + }, + WasmInstance_load(response, imports) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmInstance), + $async$returnValue, t1, importsJs, $async$temp1, $async$temp2; + var $async$WasmInstance_load = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + importsJs = {}; + imports.forEach$1(0, new A.WasmInstance_load_closure(importsJs)); + t1 = type$.String; + t1 = new A.WasmInstance(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Function), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Global)); + $async$temp1 = t1; + $async$temp2 = J; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(self.WebAssembly.instantiateStreaming(response, importsJs), type$._ResultObject), $async$WasmInstance_load); + case 3: + // returning from await. + $async$temp1.WasmInstance$_$1($async$temp2.get$instance$x($async$result)); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmInstance_load, $async$completer); + }, + _WasmInstance: function _WasmInstance() { + }, + _ResultObject: function _ResultObject() { + }, + WasmInstance: function WasmInstance(t0, t1) { + this.functions = t0; + this.globals = t1; + }, + WasmInstance_load_closure: function WasmInstance_load_closure(t0) { + this.importsJs = t0; + }, + WasmInstance_load__closure: function WasmInstance_load__closure(t0) { + this.moduleJs = t0; + }, + MemoryDescriptor: function MemoryDescriptor() { + }, + Memory: function Memory() { + }, + Global: function Global() { + }, + WasmSqlite3_loadFromUrl(uri, environment) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmSqlite3), + $async$returnValue, t2, jsUri, t3, t1, $async$temp1; + var $async$WasmSqlite3_loadFromUrl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JavaScriptObject; + if (uri.get$isAbsolute()) { + t2 = uri.toString$0(0); + jsUri = t1._as(new globalThis.URL(t2)); + } else { + t2 = uri.toString$0(0); + t3 = A.Uri_base().toString$0(0); + jsUri = t1._as(new globalThis.URL(t2, t3)); + } + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(self.fetch(jsUri, null), t1), $async$WasmSqlite3_loadFromUrl); + case 3: + // returning from await. + $async$returnValue = $async$temp1.WasmSqlite3__load($async$result, environment); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmSqlite3_loadFromUrl, $async$completer); + }, + WasmSqlite3__load(fetchResponse, environment) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmSqlite3), + $async$returnValue, $async$temp1, $async$temp2; + var $async$WasmSqlite3__load = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = A; + $async$temp2 = A; + $async$goto = 3; + return A._asyncAwait(A.WasmBindings_instantiateAsync(fetchResponse, environment), $async$WasmSqlite3__load); + case 3: + // returning from await. + $async$returnValue = new $async$temp1.WasmSqlite3(new $async$temp2.WasmSqliteBindings($async$result)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmSqlite3__load, $async$completer); + }, + WasmSqlite3: function WasmSqlite3(t0) { + this.bindings = t0; + }, + WasmBindings_instantiateAsync(response, environment) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmBindings), + $async$returnValue, instance, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, injected, t1; + var $async$WasmBindings_instantiateAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + injected = A._InjectedValues$(environment); + t1 = injected.___InjectedValues_injectedValues_A; + t1 === $ && A.throwLateFieldNI("injectedValues"); + $async$goto = 3; + return A._asyncAwait(A.WasmInstance_load(response, t1), $async$WasmBindings_instantiateAsync); + case 3: + // returning from await. + instance = $async$result; + t1 = injected.___InjectedValues_memory_A; + t1 === $ && A.throwLateFieldNI("memory"); + t2 = instance.functions; + t3 = t2.$index(0, "dart_sqlite3_malloc"); + t3.toString; + t4 = t2.$index(0, "dart_sqlite3_free"); + t4.toString; + t5 = t2.$index(0, "dart_sqlite3_create_scalar_function"); + t5.toString; + t6 = t2.$index(0, "dart_sqlite3_create_aggregate_function"); + t6.toString; + t2.$index(0, "dart_sqlite3_create_window_function"); + t2.$index(0, "dart_sqlite3_create_collation"); + t7 = t2.$index(0, "dart_sqlite3_updates"); + t7.toString; + t2.$index(0, "sqlite3_libversion").toString; + t2.$index(0, "sqlite3_sourceid").toString; + t2.$index(0, "sqlite3_libversion_number").toString; + t8 = t2.$index(0, "sqlite3_open_v2"); + t8.toString; + t9 = t2.$index(0, "sqlite3_close_v2"); + t9.toString; + t10 = t2.$index(0, "sqlite3_extended_errcode"); + t10.toString; + t11 = t2.$index(0, "sqlite3_errmsg"); + t11.toString; + t12 = t2.$index(0, "sqlite3_errstr"); + t12.toString; + t13 = t2.$index(0, "sqlite3_extended_result_codes"); + t13.toString; + t14 = t2.$index(0, "sqlite3_exec"); + t14.toString; + t2.$index(0, "sqlite3_free").toString; + t15 = t2.$index(0, "sqlite3_prepare_v3"); + t15.toString; + t16 = t2.$index(0, "sqlite3_bind_parameter_count"); + t16.toString; + t17 = t2.$index(0, "sqlite3_column_count"); + t17.toString; + t18 = t2.$index(0, "sqlite3_column_name"); + t18.toString; + t19 = t2.$index(0, "sqlite3_reset"); + t19.toString; + t20 = t2.$index(0, "sqlite3_step"); + t20.toString; + t21 = t2.$index(0, "sqlite3_finalize"); + t21.toString; + t22 = t2.$index(0, "sqlite3_column_type"); + t22.toString; + t23 = t2.$index(0, "sqlite3_column_int64"); + t23.toString; + t24 = t2.$index(0, "sqlite3_column_double"); + t24.toString; + t25 = t2.$index(0, "sqlite3_column_bytes"); + t25.toString; + t26 = t2.$index(0, "sqlite3_column_blob"); + t26.toString; + t27 = t2.$index(0, "sqlite3_column_text"); + t27.toString; + t28 = t2.$index(0, "sqlite3_bind_null"); + t28.toString; + t29 = t2.$index(0, "sqlite3_bind_int64"); + t29.toString; + t30 = t2.$index(0, "sqlite3_bind_double"); + t30.toString; + t31 = t2.$index(0, "sqlite3_bind_text"); + t31.toString; + t32 = t2.$index(0, "sqlite3_bind_blob64"); + t32.toString; + t2.$index(0, "sqlite3_bind_parameter_index").toString; + t33 = t2.$index(0, "sqlite3_changes"); + t33.toString; + t34 = t2.$index(0, "sqlite3_last_insert_rowid"); + t34.toString; + t35 = t2.$index(0, "sqlite3_user_data"); + t35.toString; + t36 = t2.$index(0, "sqlite3_result_null"); + t36.toString; + t37 = t2.$index(0, "sqlite3_result_int64"); + t37.toString; + t38 = t2.$index(0, "sqlite3_result_double"); + t38.toString; + t39 = t2.$index(0, "sqlite3_result_text"); + t39.toString; + t40 = t2.$index(0, "sqlite3_result_blob64"); + t40.toString; + t41 = t2.$index(0, "sqlite3_result_error"); + t41.toString; + t42 = t2.$index(0, "sqlite3_value_type"); + t42.toString; + t43 = t2.$index(0, "sqlite3_value_int64"); + t43.toString; + t44 = t2.$index(0, "sqlite3_value_double"); + t44.toString; + t45 = t2.$index(0, "sqlite3_value_bytes"); + t45.toString; + t46 = t2.$index(0, "sqlite3_value_text"); + t46.toString; + t47 = t2.$index(0, "sqlite3_value_blob"); + t47.toString; + t2.$index(0, "sqlite3_aggregate_context").toString; + instance.globals.$index(0, "sqlite3_temp_directory").toString; + $async$returnValue = injected.___InjectedValues_bindings_A = new A.WasmBindings(t1, injected.callbacks, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t22, t23, t24, t25, t27, t26, t28, t29, t30, t31, t32, t21, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmBindings_instantiateAsync, $async$completer); + }, + ReadMemory_strlen(_this, address) { + var bytes, t1, $length, t2; + if (A.assertTest(address !== 0)) + A.assertThrow("Null pointer dereference"); + bytes = A.NativeUint8List_NativeUint8List$view(J.get$buffer$x(_this), 0, null); + t1 = bytes.length; + $length = 0; + while (true) { + t2 = address + $length; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(bytes, t2); + if (!(bytes[t2] !== 0)) + break; + ++$length; + } + return $length; + }, + ReadMemory_readString(_this, address, $length) { + var t1; + if (A.assertTest(address !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = J.get$buffer$x(_this); + return B.C_Utf8Codec.decode$1(0, A.NativeUint8List_NativeUint8List$view(t1, address, $length == null ? A.ReadMemory_strlen(_this, address) : $length)); + }, + ReadMemory_readNullableString(_this, address, $length) { + var t1; + if (address === 0) + return null; + t1 = J.get$buffer$x(_this); + return B.C_Utf8Codec.decode$1(0, A.NativeUint8List_NativeUint8List$view(t1, address, $length)); + }, + ReadMemory_copyRange(_this, pointer, $length) { + var list = new Uint8Array($length); + B.NativeUint8List_methods.setAll$2(list, 0, A.NativeUint8List_NativeUint8List$view(J.get$buffer$x(_this), pointer, $length)); + return list; + }, + _InjectedValues$(environment) { + var t1 = type$.int; + t1 = new A._InjectedValues(new A.DartCallbacks(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.RegisteredFunctionSet), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AggregateContext_nullable_Object))); + t1._InjectedValues$1(environment); + return t1; + }, + WasmBindings: function WasmBindings(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46) { + var _ = this; + _.memory = t0; + _.callbacks = t1; + _._malloc = t2; + _._free = t3; + _._create_scalar = t4; + _._create_aggregate = t5; + _._update_hooks = t6; + _._sqlite3_open_v2 = t7; + _._sqlite3_close_v2 = t8; + _._sqlite3_extended_errcode = t9; + _._sqlite3_errmsg = t10; + _._sqlite3_errstr = t11; + _._sqlite3_extended_result_codes = t12; + _._sqlite3_exec = t13; + _._sqlite3_prepare_v3 = t14; + _._sqlite3_bind_parameter_count = t15; + _._sqlite3_column_count = t16; + _._sqlite3_column_name = t17; + _._sqlite3_reset = t18; + _._sqlite3_step = t19; + _._sqlite3_column_type = t20; + _._sqlite3_column_int64 = t21; + _._sqlite3_column_double = t22; + _._sqlite3_column_bytes = t23; + _._sqlite3_column_text = t24; + _._sqlite3_column_blob = t25; + _._sqlite3_bind_null = t26; + _._sqlite3_bind_int64 = t27; + _._sqlite3_bind_double = t28; + _._sqlite3_bind_text = t29; + _._sqlite3_bind_blob64 = t30; + _._sqlite3_finalize = t31; + _._sqlite3_changes = t32; + _._sqlite3_last_insert_rowid = t33; + _._sqlite3_user_data = t34; + _._sqlite3_result_null = t35; + _._sqlite3_result_int64 = t36; + _._sqlite3_result_double = t37; + _._sqlite3_result_text = t38; + _._sqlite3_result_blob64 = t39; + _._sqlite3_result_error = t40; + _._sqlite3_value_type = t41; + _._sqlite3_value_int64 = t42; + _._sqlite3_value_double = t43; + _._sqlite3_value_bytes = t44; + _._sqlite3_value_text = t45; + _._sqlite3_value_blob = t46; + }, + _InjectedValues: function _InjectedValues(t0) { + var _ = this; + _.___InjectedValues_memory_A = _.___InjectedValues_injectedValues_A = _.___InjectedValues_bindings_A = $; + _.callbacks = t0; + }, + _InjectedValues_closure: function _InjectedValues_closure(t0, t1) { + this.memory = t0; + this.environment = t1; + }, + _InjectedValues_closure0: function _InjectedValues_closure0(t0) { + this.memory = t0; + }, + _InjectedValues_closure1: function _InjectedValues_closure1() { + }, + _InjectedValues_closure2: function _InjectedValues_closure2(t0) { + this.memory = t0; + }, + _InjectedValues_closure3: function _InjectedValues_closure3(t0) { + this.$this = t0; + }, + _InjectedValues_closure4: function _InjectedValues_closure4(t0) { + this.$this = t0; + }, + _InjectedValues_closure5: function _InjectedValues_closure5(t0) { + this.$this = t0; + }, + _InjectedValues_closure6: function _InjectedValues_closure6(t0) { + this.$this = t0; + }, + _InjectedValues_closure7: function _InjectedValues_closure7(t0) { + this.$this = t0; + }, + _InjectedValues_closure8: function _InjectedValues_closure8(t0) { + this.$this = t0; + }, + _InjectedValues_closure9: function _InjectedValues_closure9(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure10: function _InjectedValues_closure10(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure11: function _InjectedValues_closure11(t0, t1) { + this.memory = t0; + this.environment = t1; + }, + _InjectedValues_closure12: function _InjectedValues_closure12(t0, t1) { + this.$this = t0; + this.environment = t1; + }, + _InjectedValues_closure13: function _InjectedValues_closure13(t0, t1, t2) { + this.$this = t0; + this.environment = t1; + this.memory = t2; + }, + _InjectedValues_closure14: function _InjectedValues_closure14(t0, t1) { + this.environment = t0; + this.memory = t1; + }, + _InjectedValues_closure15: function _InjectedValues_closure15(t0, t1) { + this.environment = t0; + this.memory = t1; + }, + _InjectedValues_closure16: function _InjectedValues_closure16(t0, t1) { + this.environment = t0; + this.memory = t1; + }, + _InjectedValues_closure17: function _InjectedValues_closure17(t0, t1) { + this.environment = t0; + this.memory = t1; + }, + _InjectedValues_closure18: function _InjectedValues_closure18(t0, t1, t2) { + this.$this = t0; + this.environment = t1; + this.memory = t2; + }, + DartCallbacks: function DartCallbacks(t0, t1) { + var _ = this; + _._id = 0; + _.functions = t0; + _.aggregateContexts = t1; + _.installedUpdateHook = null; + }, + RegisteredFunctionSet: function RegisteredFunctionSet(t0, t1, t2) { + this.xFunc = t0; + this.xStep = t1; + this.xFinal = t2; + }, + CloseGuaranteeChannel: function CloseGuaranteeChannel(t0) { + var _ = this; + _.__CloseGuaranteeChannel__sink_F = _.__CloseGuaranteeChannel__stream_F = $; + _._close_guarantee_channel$_subscription = null; + _._close_guarantee_channel$_disconnected = false; + _.$ti = t0; + }, + _CloseGuaranteeStream: function _CloseGuaranteeStream(t0, t1, t2) { + this._close_guarantee_channel$_inner = t0; + this._close_guarantee_channel$_channel = t1; + this.$ti = t2; + }, + _CloseGuaranteeSink: function _CloseGuaranteeSink(t0, t1, t2) { + this._close_guarantee_channel$_channel = t0; + this._sink = t1; + this.$ti = t2; + }, + GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) { + var t2, t1 = {}; + t1.innerStream = innerStream; + t2 = new A.GuaranteeChannel($T._eval$1("GuaranteeChannel<0>")); + t2.GuaranteeChannel$3$allowSinkErrors(innerSink, true, t1, $T); + return t2; + }, + GuaranteeChannel: function GuaranteeChannel(t0) { + var _ = this; + _.__GuaranteeChannel__streamController_F = _.__GuaranteeChannel__sink_F = $; + _._guarantee_channel$_subscription = null; + _._disconnected = false; + _.$ti = t0; + }, + GuaranteeChannel_closure: function GuaranteeChannel_closure(t0, t1, t2) { + this._box_0 = t0; + this.$this = t1; + this.T = t2; + }, + GuaranteeChannel__closure: function GuaranteeChannel__closure(t0) { + this.$this = t0; + }, + _GuaranteeSink: function _GuaranteeSink(t0, t1, t2, t3, t4) { + var _ = this; + _._inner = t0; + _._guarantee_channel$_channel = t1; + _._doneCompleter = t2; + _._closed = _._disconnected = false; + _._addStreamCompleter = _._addStreamSubscription = null; + _._allowErrors = t3; + _.$ti = t4; + }, + _GuaranteeSink_addStream_closure: function _GuaranteeSink_addStream_closure(t0) { + this.$this = t0; + }, + StreamChannelController: function StreamChannelController(t0) { + this.__StreamChannelController__foreign_F = this.__StreamChannelController__local_F = $; + this.$ti = t0; + }, + StreamChannelMixin: function StreamChannelMixin() { + }, + main() { + var worker, + t1 = new A.main_closure(), + t2 = self; + t2.toString; + if (type$.SharedWorkerGlobalScope._is(t2)) + worker = new A._RunningDriftWorker(true, t1); + else if (type$.DedicatedWorkerGlobalScope._is(t2)) + worker = new A._RunningDriftWorker(false, t1); + else { + A.throwExpression(A.StateError$("This worker is neither a shared nor a dedicated worker")); + worker = null; + } + worker.start$0(0); + return null; + }, + main_closure: function main_closure() { + }, + printString(string) { + if (typeof dartPrint == "function") { + dartPrint(string); + return; + } + if (typeof console == "object" && typeof console.log != "undefined") { + console.log(string); + return; + } + if (typeof print == "function") { + print(string); + return; + } + throw "Unable to print message: " + String(string); + }, + isAlphabetic(char) { + var t1; + if (!(char >= 65 && char <= 90)) + t1 = char >= 97 && char <= 122; + else + t1 = true; + return t1; + }, + isDriveLetter(path, index) { + var t1 = path.length, + t2 = index + 2; + if (t1 < t2) + return false; + if (!A.isAlphabetic(B.JSString_methods.codeUnitAt$1(path, index))) + return false; + if (B.JSString_methods.codeUnitAt$1(path, index + 1) !== 58) + return false; + if (t1 === t2) + return true; + return B.JSString_methods.codeUnitAt$1(path, t2) === 47; + }, + createExceptionRaw(bindings, db, returnCode, operation, previousStatement, statementArgs) { + var t1 = db.bindings, + t2 = db.db, + extendedCode = A._asInt(t1._sqlite3_extended_errcode.call$1(t2)), + t3 = bindings.bindings; + return new A.SqliteException(A.ReadMemory_readString(t1.memory, A._asInt(t1._sqlite3_errmsg.call$1(t2)), null), A.ReadMemory_readString(t3.memory, A._asInt(t3._sqlite3_errstr.call$1(extendedCode)), null) + " (code " + extendedCode + ")", returnCode, operation, previousStatement, statementArgs); + }, + throwException(db, returnCode, operation, previousStatement, statementArgs) { + throw A.wrapException(A.createExceptionRaw(db.bindings, db.database, returnCode, operation, previousStatement, statementArgs)); + }, + BigIntRangeCheck_get_checkRange(_this) { + var t1 = type$._BigIntImpl; + if (_this.compareTo$1(0, t1._as($.$get$bigIntMinValue64())) < 0 || _this.compareTo$1(0, t1._as($.$get$bigIntMaxValue64())) > 0) + throw A.wrapException(A.Exception_Exception(string$.BigInt)); + return _this; + }, + ReadBlob_arrayBuffer(_this) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), + $async$returnValue, $async$temp1; + var $async$ReadBlob_arrayBuffer = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(type$.Object._as(_this.arrayBuffer()), type$.ByteBuffer), $async$ReadBlob_arrayBuffer); + case 3: + // returning from await. + $async$returnValue = $async$temp1.NativeUint8List_NativeUint8List$view($async$result, 0, null); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$ReadBlob_arrayBuffer, $async$completer); + } + }, + J = { + makeDispatchRecord(interceptor, proto, extension, indexability) { + return {i: interceptor, p: proto, e: extension, x: indexability}; + }, + getNativeInterceptor(object) { + var proto, objectProto, $constructor, interceptor, t1, + record = object[init.dispatchPropertyName]; + if (record == null) + if ($.initNativeDispatchFlag == null) { + A.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 A.wrapException(A.UnimplementedError$("Return interceptor for " + A.S(proto(object, record)))); + } + $constructor = object.constructor; + if ($constructor == null) + interceptor = null; + else { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + interceptor = $constructor[t1]; + } + if (interceptor != null) + return interceptor; + interceptor = A.lookupAndCacheInterceptor(object); + if (interceptor != null) + return interceptor; + if (typeof object == "function") + return B.JavaScriptFunction_methods; + proto = Object.getPrototypeOf(object); + if (proto == null) + return B.PlainJavaScriptObject_methods; + if (proto === Object.prototype) + return B.PlainJavaScriptObject_methods; + if (typeof $constructor == "function") { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + Object.defineProperty($constructor, t1, {value: B.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); + return B.UnknownJavaScriptObject_methods; + } + return B.UnknownJavaScriptObject_methods; + }, + JSArray_JSArray$fixed($length, $E) { + if ($length < 0 || $length > 4294967295) + throw A.wrapException(A.RangeError$range($length, 0, 4294967295, "length", null)); + return J.JSArray_JSArray$markFixed(new Array($length), $E); + }, + JSArray_JSArray$growable($length, $E) { + if ($length < 0) + throw A.wrapException(A.ArgumentError$("Length must be a non-negative integer: " + $length, null)); + return A._setArrayType(new Array($length), $E._eval$1("JSArray<0>")); + }, + JSArray_JSArray$markFixed(allocation, $E) { + return J.JSArray_markFixedList(A._setArrayType(allocation, $E._eval$1("JSArray<0>")), $E); + }, + JSArray_markFixedList(list, $T) { + list.fixed$length = Array; + return list; + }, + JSArray_markUnmodifiableList(list) { + list.fixed$length = Array; + list.immutable$list = Array; + return list; + }, + JSArray__compareAny(a, b) { + var t1 = type$.Comparable_dynamic; + return J.compareTo$1$ns(t1._as(a), t1._as(b)); + }, + getInterceptor$(receiver) { + if (typeof receiver == "number") { + if (Math.floor(receiver) == receiver) + return J.JSInt.prototype; + return J.JSNumNotInt.prototype; + } + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return J.JSNull.prototype; + if (typeof receiver == "boolean") + return J.JSBool.prototype; + if (receiver.constructor == Array) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$asx(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (receiver.constructor == Array) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ax(receiver) { + if (receiver == null) + return receiver; + if (receiver.constructor == Array) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ns(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 A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + getInterceptor$s(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (!(receiver instanceof A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + getInterceptor$x(receiver) { + if (receiver == null) + return receiver; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$z(receiver) { + if (receiver == null) + return receiver; + if (!(receiver instanceof A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + get$buffer$x(receiver) { + return J.getInterceptor$x(receiver).get$buffer(receiver); + }, + get$entries$x(receiver) { + return J.getInterceptor$x(receiver).get$entries(receiver); + }, + get$first$ax(receiver) { + return J.getInterceptor$ax(receiver).get$first(receiver); + }, + get$hashCode$(receiver) { + return J.getInterceptor$(receiver).get$hashCode(receiver); + }, + get$instance$x(receiver) { + return J.getInterceptor$x(receiver).get$instance(receiver); + }, + get$isEmpty$asx(receiver) { + return J.getInterceptor$asx(receiver).get$isEmpty(receiver); + }, + get$iterator$ax(receiver) { + return J.getInterceptor$ax(receiver).get$iterator(receiver); + }, + get$keys$x(receiver) { + return J.getInterceptor$x(receiver).get$keys(receiver); + }, + get$last$ax(receiver) { + return J.getInterceptor$ax(receiver).get$last(receiver); + }, + get$length$asx(receiver) { + return J.getInterceptor$asx(receiver).get$length(receiver); + }, + get$parent$z(receiver) { + return J.getInterceptor$z(receiver).get$parent(receiver); + }, + get$runtimeType$(receiver) { + return J.getInterceptor$(receiver).get$runtimeType(receiver); + }, + get$values$x(receiver) { + return J.getInterceptor$x(receiver).get$values(receiver); + }, + $eq$(receiver, a0) { + if (receiver == null) + return a0 == null; + if (typeof receiver != "object") + return a0 != null && receiver === a0; + return J.getInterceptor$(receiver).$eq(receiver, a0); + }, + $index$asx(receiver, a0) { + if (typeof a0 === "number") + if (receiver.constructor == Array || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) + if (a0 >>> 0 === a0 && a0 < receiver.length) + return receiver[a0]; + return J.getInterceptor$asx(receiver).$index(receiver, a0); + }, + $indexSet$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); + }, + _removeEventListener$3$x(receiver, a0, a1, a2) { + return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2); + }, + add$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).add$1(receiver, a0); + }, + addEventListener$3$x(receiver, a0, a1, a2) { + return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2); + }, + allMatches$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).allMatches$1(receiver, a0); + }, + cast$1$0$ax(receiver, $T1) { + return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1); + }, + codeUnitAt$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0); + }, + compareTo$1$ns(receiver, a0) { + return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0); + }, + contains$1$asx(receiver, a0) { + return J.getInterceptor$asx(receiver).contains$1(receiver, a0); + }, + elementAt$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); + }, + forEach$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).forEach$1(receiver, a0); + }, + getRange$2$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1); + }, + map$1$1$ax(receiver, a0, $T1) { + return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); + }, + next$0$x(receiver) { + return J.getInterceptor$x(receiver).next$0(receiver); + }, + noSuchMethod$1$(receiver, a0) { + return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); + }, + select$0$z(receiver) { + return J.getInterceptor$z(receiver).select$0(receiver); + }, + send$0$z(receiver) { + return J.getInterceptor$z(receiver).send$0(receiver); + }, + setRange$4$ax(receiver, a0, a1, a2, a3) { + return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3); + }, + skip$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).skip$1(receiver, a0); + }, + sublist$2$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1); + }, + toList$0$ax(receiver) { + return J.getInterceptor$ax(receiver).toList$0(receiver); + }, + toString$0$(receiver) { + return J.getInterceptor$(receiver).toString$0(receiver); + }, + Interceptor: function Interceptor() { + }, + JSBool: function JSBool() { + }, + JSNull: function JSNull() { + }, + JavaScriptObject: function JavaScriptObject() { + }, + LegacyJavaScriptObject: function LegacyJavaScriptObject() { + }, + PlainJavaScriptObject: function PlainJavaScriptObject() { + }, + UnknownJavaScriptObject: function UnknownJavaScriptObject() { + }, + JavaScriptFunction: function JavaScriptFunction() { + }, + JSArray: function JSArray(t0) { + this.$ti = t0; + }, + JSUnmodifiableArray: function JSUnmodifiableArray(t0) { + this.$ti = t0; + }, + ArrayIterator: function ArrayIterator(t0, t1, t2) { + var _ = this; + _._iterable = t0; + _.__interceptors$_length = t1; + _._index = 0; + _._current = null; + _.$ti = t2; + }, + JSNumber: function JSNumber() { + }, + JSInt: function JSInt() { + }, + JSNumNotInt: function JSNumNotInt() { + }, + JSString: function JSString() { + } + }, + B = {}; + var holders = [A, J, B]; + var $ = {}; + A.JS_CONST.prototype = {}; + J.Interceptor.prototype = { + $eq(receiver, other) { + return receiver === other; + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + toString$0(receiver) { + return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'"; + }, + noSuchMethod$1(receiver, invocation) { + throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, type$.Invocation._as(invocation))); + }, + get$runtimeType(receiver) { + return A.createRuntimeType(A._instanceTypeFromConstructor(this)); + } + }; + J.JSBool.prototype = { + toString$0(receiver) { + return String(receiver); + }, + get$hashCode(receiver) { + return receiver ? 519018 : 218159; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.bool); + }, + $isTrustedGetRuntimeType: 1, + $isbool: 1 + }; + J.JSNull.prototype = { + $eq(receiver, other) { + return null == other; + }, + toString$0(receiver) { + return "null"; + }, + get$hashCode(receiver) { + return 0; + }, + $isTrustedGetRuntimeType: 1, + $isNull: 1 + }; + J.JavaScriptObject.prototype = {$isJSObject: 1}; + J.LegacyJavaScriptObject.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + }, + $is_FileEntry: 1, + $is_ResultObject: 1, + $isMemory: 1, + $isGlobal: 1, + get$name(obj) { + return obj.name; + }, + get$length(obj) { + return obj.length; + }, + get$exports(obj) { + return obj.exports; + }, + get$instance(obj) { + return obj.instance; + }, + get$buffer(obj) { + return obj.buffer; + } + }; + J.PlainJavaScriptObject.prototype = {}; + J.UnknownJavaScriptObject.prototype = {}; + J.JavaScriptFunction.prototype = { + toString$0(receiver) { + var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; + if (dartClosure == null) + return this.super$LegacyJavaScriptObject$toString(receiver); + return "JavaScript function for " + J.toString$0$(dartClosure); + }, + $isFunction: 1 + }; + J.JSArray.prototype = { + cast$1$0(receiver, $R) { + return new A.CastList(receiver, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); + }, + add$1(receiver, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("add")); + receiver.push(value); + }, + insert$2(receiver, index, value) { + var t1; + A._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("insert")); + t1 = receiver.length; + if (index > t1) + throw A.wrapException(A.RangeError$value(index, null)); + receiver.splice(index, 0, value); + }, + remove$1(receiver, element) { + var i; + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("remove")); + for (i = 0; i < receiver.length; ++i) + if (J.$eq$(receiver[i], element)) { + receiver.splice(i, 1); + return true; + } + return false; + }, + addAll$1(receiver, collection) { + var i, t1, e, i0; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("addAll")); + if (Array.isArray(collection)) { + this._addAllFromArray$1(receiver, collection); + return; + } + i = receiver.length; + for (t1 = J.get$iterator$ax(collection); t1.moveNext$0(); i = i0) { + e = t1.get$current(t1); + i0 = i + 1; + A.assertHelper(i === receiver.length || A.throwExpression(A.ConcurrentModificationError$(receiver))); + receiver.push(e); + } + }, + _addAllFromArray$1(receiver, array) { + var len, i; + type$.JSArray_dynamic._as(array); + len = array.length; + if (len === 0) + return; + if (receiver === array) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + for (i = 0; i < len; ++i) + receiver.push(array[i]); + }, + clear$0(receiver) { + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("clear")); + receiver.length = 0; + }, + forEach$1(receiver, f) { + var end, i; + A._arrayInstanceType(receiver)._eval$1("~(1)")._as(f); + end = receiver.length; + for (i = 0; i < end; ++i) { + f.call$1(receiver[i]); + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + }, + map$1$1(receiver, f, $T) { + var t1 = A._arrayInstanceType(receiver); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + join$1(receiver, separator) { + var i, + list = A.List_List$filled(receiver.length, "", false, type$.String); + for (i = 0; i < receiver.length; ++i) + this.$indexSet(list, i, A.S(receiver[i])); + return list.join(separator); + }, + skip$1(receiver, n) { + return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + var t1 = receiver.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, "start", null)); + if (end < start || end > t1) + throw A.wrapException(A.RangeError$range(end, start, t1, "end", null)); + if (start === end) + return A._setArrayType([], A._arrayInstanceType(receiver)); + return A._setArrayType(receiver.slice(start, end), A._arrayInstanceType(receiver)); + }, + getRange$2(receiver, start, end) { + A.RangeError_checkValidRange(start, end, receiver.length); + return A.SubListIterable$(receiver, start, end, A._arrayInstanceType(receiver)._precomputed1); + }, + get$first(receiver) { + if (receiver.length > 0) + return receiver[0]; + throw A.wrapException(A.IterableElementError_noElement()); + }, + get$last(receiver) { + var t1 = receiver.length; + if (t1 > 0) + return receiver[t1 - 1]; + throw A.wrapException(A.IterableElementError_noElement()); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + var $length, t1, otherList, i; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("setRange")); + A.RangeError_checkValidRange(start, end, receiver.length); + $length = end - start; + if ($length === 0) + return; + A.RangeError_checkNotNegative(skipCount, "skipCount"); + t1 = A._instanceType(iterable); + t1 = A.CastIterable_CastIterable(J.skip$1$ax(iterable.__internal$_source, skipCount), t1._precomputed1, t1._rest[1]); + otherList = A.List_List$of(t1, false, A._instanceType(t1)._eval$1("Iterable.E")); + if ($length > otherList.length) + throw A.wrapException(A.IterableElementError_tooFew()); + if (0 < start) + for (i = $length - 1; i >= 0; --i) { + if (!(i >= 0 && i < otherList.length)) + return A.ioore(otherList, i); + receiver[start + i] = otherList[i]; + } + else + for (i = 0; i < $length; ++i) { + if (!(i >= 0 && i < otherList.length)) + return A.ioore(otherList, i); + receiver[start + i] = otherList[i]; + } + }, + every$1(receiver, test) { + var end, i; + A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test); + end = receiver.length; + for (i = 0; i < end; ++i) { + if (!A.boolConversionCheck(test.call$1(receiver[i]))) + return false; + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + return true; + }, + sort$1(receiver, compare) { + var t2, + t1 = A._arrayInstanceType(receiver); + t1._eval$1("int(1,1)?")._as(compare); + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("sort")); + t2 = compare == null ? J._interceptors_JSArray__compareAny$closure() : compare; + A.Sort_sort(receiver, t2, t1._precomputed1); + }, + sort$0($receiver) { + return this.sort$1($receiver, null); + }, + lastIndexOf$1(receiver, element) { + var i, + t1 = receiver.length, + start = t1 - 1; + if (start < 0) + return -1; + start >= t1; + for (i = start; i >= 0; --i) { + if (!(i < receiver.length)) + return A.ioore(receiver, i); + if (J.$eq$(receiver[i], element)) + return i; + } + return -1; + }, + get$isEmpty(receiver) { + return receiver.length === 0; + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + toList$1$growable(receiver, growable) { + var t1 = A._setArrayType(receiver.slice(0), A._arrayInstanceType(receiver)); + return t1; + }, + toList$0($receiver) { + return this.toList$1$growable($receiver, true); + }, + get$iterator(receiver) { + return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("indexed set")); + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + receiver[index] = value; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + J.JSUnmodifiableArray.prototype = {}; + J.ArrayIterator.prototype = { + get$current(_) { + var t1 = this._current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t2, _this = this, + t1 = _this._iterable, + $length = t1.length; + if (_this.__interceptors$_length !== $length) { + t1 = A.throwConcurrentModificationError(t1); + throw A.wrapException(t1); + } + t2 = _this._index; + if (t2 >= $length) { + _this.set$_current(null); + return false; + } + _this.set$_current(t1[t2]); + ++_this._index; + return true; + }, + set$_current(_current) { + this._current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + J.JSNumber.prototype = { + compareTo$1(receiver, b) { + var bIsNegative; + A._asNum(b); + if (receiver < b) + return -1; + else if (receiver > b) + return 1; + else if (receiver === b) { + if (receiver === 0) { + bIsNegative = this.get$isNegative(b); + if (this.get$isNegative(receiver) === bIsNegative) + return 0; + if (this.get$isNegative(receiver)) + return -1; + return 1; + } + return 0; + } else if (isNaN(receiver)) { + if (isNaN(b)) + return 0; + return 1; + } else + return -1; + }, + get$isNegative(receiver) { + return receiver === 0 ? 1 / receiver < 0 : receiver < 0; + }, + toInt$0(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 A.wrapException(A.UnsupportedError$("" + receiver + ".toInt()")); + }, + ceil$0(receiver) { + var truncated, d; + if (receiver >= 0) { + if (receiver <= 2147483647) { + truncated = receiver | 0; + return receiver === truncated ? truncated : truncated + 1; + } + } else if (receiver >= -2147483648) + return receiver | 0; + d = Math.ceil(receiver); + if (isFinite(d)) + return d; + throw A.wrapException(A.UnsupportedError$("" + receiver + ".ceil()")); + }, + toString$0(receiver) { + if (receiver === 0 && 1 / receiver < 0) + return "-0.0"; + else + return "" + receiver; + }, + get$hashCode(receiver) { + var absolute, floorLog2, factor, scaled, + intValue = receiver | 0; + if (receiver === intValue) + return intValue & 536870911; + absolute = Math.abs(receiver); + floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; + factor = Math.pow(2, floorLog2); + scaled = absolute < 1 ? absolute / factor : factor / absolute; + return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; + }, + $mod(receiver, other) { + var result = receiver % other; + if (result === 0) + return 0; + if (result > 0) + return result; + return result + other; + }, + $tdiv(receiver, other) { + if ((receiver | 0) === receiver) + if (other >= 1 || other < -1) + return receiver / other | 0; + return this._tdivSlow$1(receiver, other); + }, + _tdivFast$1(receiver, other) { + return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); + }, + _tdivSlow$1(receiver, other) { + var quotient = receiver / other; + if (quotient >= -2147483648 && quotient <= 2147483647) + return quotient | 0; + if (quotient > 0) { + if (quotient !== 1 / 0) + return Math.floor(quotient); + } else if (quotient > -1 / 0) + return Math.ceil(quotient); + throw A.wrapException(A.UnsupportedError$("Result of truncating division is " + A.S(quotient) + ": " + A.S(receiver) + " ~/ " + other)); + }, + $shl(receiver, other) { + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + return other > 31 ? 0 : receiver << other >>> 0; + }, + $shr(receiver, other) { + var t1; + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrOtherPositive$1(receiver, other) { + var t1; + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrReceiverPositive$1(receiver, other) { + if (0 > other) + throw A.wrapException(A.argumentErrorValue(other)); + return this._shrBothPositive$1(receiver, other); + }, + _shrBothPositive$1(receiver, other) { + return other > 31 ? 0 : receiver >>> other; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.num); + }, + $isComparable: 1, + $isdouble: 1, + $isnum: 1 + }; + J.JSInt.prototype = { + get$bitLength(receiver) { + var wordBits, + t1 = receiver < 0 ? -receiver - 1 : receiver, + nonneg = t1; + for (wordBits = 32; nonneg >= 4294967296;) { + nonneg = this._tdivFast$1(nonneg, 4294967296); + wordBits += 32; + } + return wordBits - Math.clz32(nonneg); + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.int); + }, + $isTrustedGetRuntimeType: 1, + $isint: 1 + }; + J.JSNumNotInt.prototype = { + get$runtimeType(receiver) { + return A.createRuntimeType(type$.double); + }, + $isTrustedGetRuntimeType: 1 + }; + J.JSString.prototype = { + codeUnitAt$1(receiver, index) { + if (index < 0) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + if (index >= receiver.length) + A.throwExpression(A.diagnoseIndexError(receiver, index)); + return receiver.charCodeAt(index); + }, + _codeUnitAt$1(receiver, index) { + if (index >= receiver.length) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver.charCodeAt(index); + }, + allMatches$1(receiver, string) { + return new A._StringAllMatchesIterable(string, receiver, 0); + }, + $add(receiver, other) { + return receiver + other; + }, + endsWith$1(receiver, other) { + var otherLength = other.length, + t1 = receiver.length; + if (otherLength > t1) + return false; + return other === this.substring$1(receiver, t1 - otherLength); + }, + replaceRange$3(receiver, start, end, replacement) { + var e = A.RangeError_checkValidRange(start, end, receiver.length); + return receiver.substring(0, start) + replacement + receiver.substring(e); + }, + startsWith$2(receiver, pattern, index) { + var endIndex; + if (index < 0 || index > receiver.length) + throw A.wrapException(A.RangeError$range(index, 0, receiver.length, null, null)); + endIndex = index + pattern.length; + if (endIndex > receiver.length) + return false; + return pattern === receiver.substring(index, endIndex); + }, + startsWith$1($receiver, pattern) { + return this.startsWith$2($receiver, pattern, 0); + }, + substring$2(receiver, start, end) { + return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length)); + }, + substring$1($receiver, start) { + return this.substring$2($receiver, start, null); + }, + $mul(receiver, times) { + var s, result; + if (0 >= times) + return ""; + if (times === 1 || receiver.length === 0) + return receiver; + if (times !== times >>> 0) + throw A.wrapException(B.C_OutOfMemoryError); + for (s = receiver, result = ""; true;) { + if ((times & 1) === 1) + result = s + result; + times = times >>> 1; + if (times === 0) + break; + s += s; + } + return result; + }, + padLeft$2(receiver, width, padding) { + var delta = width - receiver.length; + if (delta <= 0) + return receiver; + return this.$mul(padding, delta) + receiver; + }, + indexOf$2(receiver, pattern, start) { + var t1; + if (start < 0 || start > receiver.length) + throw A.wrapException(A.RangeError$range(start, 0, receiver.length, null, null)); + t1 = receiver.indexOf(pattern, start); + return t1; + }, + indexOf$1($receiver, pattern) { + return this.indexOf$2($receiver, pattern, 0); + }, + contains$1(receiver, other) { + return A.stringContainsUnchecked(receiver, other, 0); + }, + compareTo$1(receiver, other) { + var t1; + A._asString(other); + if (receiver === other) + t1 = 0; + else + t1 = receiver < other ? -1 : 1; + return t1; + }, + toString$0(receiver) { + return receiver; + }, + get$hashCode(receiver) { + var t1, hash, i; + for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { + hash = hash + receiver.charCodeAt(i) & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + hash ^= hash >> 6; + } + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.String); + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $isJSIndexable: 1, + $isTrustedGetRuntimeType: 1, + $isComparable: 1, + $isPattern: 1, + $isString: 1 + }; + A._CastIterableBase.prototype = { + get$iterator(_) { + var t1 = A._instanceType(this); + return new A.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); + }, + get$length(_) { + return J.get$length$asx(this.get$__internal$_source()); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.get$__internal$_source()); + }, + skip$1(_, count) { + var t1 = A._instanceType(this); + return A.CastIterable_CastIterable(J.skip$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]); + }, + elementAt$1(_, index) { + return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$__internal$_source(), index)); + }, + get$first(_) { + return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$__internal$_source())); + }, + get$last(_) { + return A._instanceType(this)._rest[1]._as(J.get$last$ax(this.get$__internal$_source())); + }, + toString$0(_) { + return J.toString$0$(this.get$__internal$_source()); + } + }; + A.CastIterator.prototype = { + moveNext$0() { + return this.__internal$_source.moveNext$0(); + }, + get$current(_) { + var t1 = this.__internal$_source; + return this.$ti._rest[1]._as(t1.get$current(t1)); + }, + $isIterator: 1 + }; + A.CastIterable.prototype = { + get$__internal$_source() { + return this.__internal$_source; + } + }; + A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1}; + A._CastListBase.prototype = { + $index(_, index) { + return this.$ti._rest[1]._as(J.$index$asx(this.__internal$_source, index)); + }, + $indexSet(_, index, value) { + var t1 = this.$ti; + J.$indexSet$ax(this.__internal$_source, index, t1._precomputed1._as(t1._rest[1]._as(value))); + }, + getRange$2(_, start, end) { + var t1 = this.$ti; + return A.CastIterable_CastIterable(J.getRange$2$ax(this.__internal$_source, start, end), t1._precomputed1, t1._rest[1]); + }, + setRange$4(_, start, end, iterable, skipCount) { + var t1 = this.$ti; + J.setRange$4$ax(this.__internal$_source, start, end, A.CastIterable_CastIterable(t1._eval$1("Iterable<2>")._as(iterable), t1._rest[1], t1._precomputed1), skipCount); + }, + setRange$3($receiver, start, end, iterable) { + return this.setRange$4($receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isList: 1 + }; + A.CastList.prototype = { + cast$1$0(_, $R) { + return new A.CastList(this.__internal$_source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); + }, + get$__internal$_source() { + return this.__internal$_source; + } + }; + A.LateError.prototype = { + toString$0(_) { + return "LateInitializationError: " + this._message; + } + }; + A.CodeUnits.prototype = { + get$length(_) { + return this.__internal$_string.length; + }, + $index(_, i) { + return B.JSString_methods.codeUnitAt$1(this.__internal$_string, i); + } + }; + A.nullFuture_closure.prototype = { + call$0() { + return A.Future_Future$value(null, type$.Null); + }, + $signature: 27 + }; + A.SentinelValue.prototype = {}; + A.EfficientLengthIterable.prototype = {}; + A.ListIterable.prototype = { + get$iterator(_) { + var _this = this; + return new A.ListIterator(_this, _this.get$length(_this), A._instanceType(_this)._eval$1("ListIterator")); + }, + get$isEmpty(_) { + return this.get$length(this) === 0; + }, + get$first(_) { + if (this.get$length(this) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.elementAt$1(0, 0); + }, + get$last(_) { + var _this = this; + if (_this.get$length(_this) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return _this.elementAt$1(0, _this.get$length(_this) - 1); + }, + join$1(_, separator) { + var first, t1, i, _this = this, + $length = _this.get$length(_this); + if (separator.length !== 0) { + if ($length === 0) + return ""; + first = A.S(_this.elementAt$1(0, 0)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + for (t1 = first, i = 1; i < $length; ++i) { + t1 = t1 + separator + A.S(_this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } else { + for (i = 0, t1 = ""; i < $length; ++i) { + t1 += A.S(_this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }, + join$0($receiver) { + return this.join$1($receiver, ""); + }, + skip$1(_, count) { + return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E")); + }, + toList$1$growable(_, growable) { + return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E")); + }, + toList$0($receiver) { + return this.toList$1$growable($receiver, true); + } + }; + A.SubListIterable.prototype = { + SubListIterable$3(_iterable, _start, _endOrLength, $E) { + var endOrLength, + t1 = this._start; + A.RangeError_checkNotNegative(t1, "start"); + endOrLength = this._endOrLength; + if (endOrLength != null) { + A.RangeError_checkNotNegative(endOrLength, "end"); + if (t1 > endOrLength) + throw A.wrapException(A.RangeError$range(t1, 0, endOrLength, "start", null)); + } + }, + get$_endIndex() { + var $length = J.get$length$asx(this.__internal$_iterable), + endOrLength = this._endOrLength; + if (endOrLength == null || endOrLength > $length) + return $length; + return endOrLength; + }, + get$_startIndex() { + var $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 > $length) + return $length; + return t1; + }, + get$length(_) { + var endOrLength, + $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 >= $length) + return 0; + endOrLength = this._endOrLength; + if (endOrLength == null || endOrLength >= $length) + return $length - t1; + if (typeof endOrLength !== "number") + return endOrLength.$sub(); + return endOrLength - t1; + }, + elementAt$1(_, index) { + var _this = this, + realIndex = _this.get$_startIndex() + index; + if (index < 0 || realIndex >= _this.get$_endIndex()) + throw A.wrapException(A.IndexError$withLength(index, _this.get$length(_this), _this, null, "index")); + return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); + }, + skip$1(_, count) { + var newStart, endOrLength, _this = this; + A.RangeError_checkNotNegative(count, "count"); + newStart = _this._start + count; + endOrLength = _this._endOrLength; + if (endOrLength != null && newStart >= endOrLength) + return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>")); + return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1); + }, + toList$1$growable(_, growable) { + var $length, result, i, _this = this, + start = _this._start, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + end = t2.get$length(t1), + endOrLength = _this._endOrLength; + if (endOrLength != null && endOrLength < end) + end = endOrLength; + $length = end - start; + if ($length <= 0) { + t1 = _this.$ti._precomputed1; + return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1); + } + result = A.List_List$filled($length, t2.elementAt$1(t1, start), growable, _this.$ti._precomputed1); + for (i = 1; i < $length; ++i) { + B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i)); + if (t2.get$length(t1) < end) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return result; + }, + toList$0($receiver) { + return this.toList$1$growable($receiver, true); + } + }; + A.ListIterator.prototype = { + get$current(_) { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t3, _this = this, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + $length = t2.get$length(t1); + if (_this.__internal$_length !== $length) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + t3 = _this.__internal$_index; + if (t3 >= $length) { + _this.set$__internal$_current(null); + return false; + } + _this.set$__internal$_current(t2.elementAt$1(t1, t3)); + ++_this.__internal$_index; + return true; + }, + set$__internal$_current(_current) { + this.__internal$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.MappedIterable.prototype = { + get$iterator(_) { + var t1 = A._instanceType(this); + return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>")); + }, + get$length(_) { + return J.get$length$asx(this.__internal$_iterable); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.__internal$_iterable); + }, + get$first(_) { + return this._f.call$1(J.get$first$ax(this.__internal$_iterable)); + }, + get$last(_) { + return this._f.call$1(J.get$last$ax(this.__internal$_iterable)); + }, + elementAt$1(_, index) { + return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index)); + } + }; + A.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1}; + A.MappedIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._iterator; + if (t1.moveNext$0()) { + _this.set$__internal$_current(_this._f.call$1(t1.get$current(t1))); + return true; + } + _this.set$__internal$_current(null); + return false; + }, + get$current(_) { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + set$__internal$_current(_current) { + this.__internal$_current = this.$ti._eval$1("2?")._as(_current); + }, + $isIterator: 1 + }; + A.MappedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this.__internal$_source); + }, + elementAt$1(_, index) { + return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index)); + } + }; + A.WhereIterable.prototype = { + get$iterator(_) { + return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>")); + } + }; + A.WhereIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) + if (A.boolConversionCheck(t2.call$1(t1.get$current(t1)))) + return true; + return false; + }, + get$current(_) { + var t1 = this._iterator; + return t1.get$current(t1); + }, + $isIterator: 1 + }; + A.SkipIterable.prototype = { + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>")); + }, + get$iterator(_) { + var t1 = J.get$iterator$ax(this.__internal$_iterable), + t2 = this._skipCount; + A.assertHelper(t2 >= 0); + return new A.SkipIterator(t1, t2, A._instanceType(this)._eval$1("SkipIterator<1>")); + } + }; + A.EfficientLengthSkipIterable.prototype = { + get$length(_) { + var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount; + if ($length >= 0) + return $length; + return 0; + }, + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti); + }, + $isEfficientLengthIterable: 1 + }; + A.SkipIterator.prototype = { + moveNext$0() { + var t1, i; + for (t1 = this._iterator, i = 0; i < this._skipCount; ++i) + t1.moveNext$0(); + this._skipCount = 0; + return t1.moveNext$0(); + }, + get$current(_) { + var t1 = this._iterator; + return t1.get$current(t1); + }, + $isIterator: 1 + }; + A.EmptyIterable.prototype = { + get$iterator(_) { + return B.C_EmptyIterator; + }, + get$isEmpty(_) { + return true; + }, + get$length(_) { + return 0; + }, + get$first(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + get$last(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + elementAt$1(_, index) { + throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null)); + }, + skip$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; + } + }; + A.EmptyIterator.prototype = { + moveNext$0() { + return false; + }, + get$current(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + $isIterator: 1 + }; + A.WhereTypeIterable.prototype = { + get$iterator(_) { + return new A.WhereTypeIterator(J.get$iterator$ax(this.__internal$_source), this.$ti._eval$1("WhereTypeIterator<1>")); + } + }; + A.WhereTypeIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this.__internal$_source, t2 = this.$ti._precomputed1; t1.moveNext$0();) + if (t2._is(t1.get$current(t1))) + return true; + return false; + }, + get$current(_) { + var t1 = this.__internal$_source; + return this.$ti._precomputed1._as(t1.get$current(t1)); + }, + $isIterator: 1 + }; + A.FixedLengthListMixin.prototype = {}; + A.UnmodifiableListMixin.prototype = { + $indexSet(_, index, value) { + A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); + }, + setRange$4(_, start, end, iterable, skipCount) { + A._instanceType(this)._eval$1("Iterable")._as(iterable); + throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); + }, + setRange$3($receiver, start, end, iterable) { + return this.setRange$4($receiver, start, end, iterable, 0); + } + }; + A.UnmodifiableListBase.prototype = {}; + A.ReversedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this.__internal$_source); + }, + elementAt$1(_, index) { + var t1 = this.__internal$_source, + t2 = J.getInterceptor$asx(t1); + return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index); + } + }; + A.Symbol.prototype = { + get$hashCode(_) { + var hash = this._hashCode; + if (hash != null) + return hash; + hash = 664597 * J.get$hashCode$(this.__internal$_name) & 536870911; + this._hashCode = hash; + return hash; + }, + toString$0(_) { + return 'Symbol("' + A.S(this.__internal$_name) + '")'; + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Symbol && this.__internal$_name == other.__internal$_name; + }, + $isSymbol0: 1 + }; + A.__CastListBase__CastIterableBase_ListMixin.prototype = {}; + A.ConstantMapView.prototype = {}; + A.ConstantMap.prototype = { + toString$0(_) { + return A.MapBase_mapToString(this); + }, + get$entries(_) { + return this.entries$body$ConstantMap(0, A._instanceType(this)._eval$1("MapEntry<1,2>")); + }, + entries$body$ConstantMap($async$_, $async$type) { + var $async$self = this; + return A._makeSyncStarIterable(function() { + var _ = $async$_; + var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, key, t4; + return function $async$get$entries($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.get$keys($async$self), t1 = t1.get$iterator(t1), t2 = A._instanceType($async$self), t3 = t2._rest[1], t2 = t2._eval$1("@<1>")._bind$1(t3)._eval$1("MapEntry<1,2>"); + case 2: + // for condition + if (!t1.moveNext$0()) { + // goto after for + $async$goto = 3; + break; + } + key = t1.get$current(t1); + t4 = $async$self.$index(0, key); + $async$goto = 4; + return new A.MapEntry(key, t4 == null ? t3._as(t4) : t4, t2); + case 4: + // after yield + // goto for condition + $async$goto = 2; + break; + case 3: + // after for + // implicit return + return A._IterationMarker_endOfIteration(); + case 1: + // rethrow + return A._IterationMarker_uncaughtError($async$currentError); + } + }; + }, $async$type); + }, + $isMap: 1 + }; + A.ConstantStringMap.prototype = { + get$length(_) { + return this._length; + }, + containsKey$1(_, key) { + if (typeof key != "string") + return false; + if ("__proto__" === key) + return false; + return this._jsObject.hasOwnProperty(key); + }, + $index(_, key) { + if (!this.containsKey$1(0, key)) + return null; + return this._jsObject[A._asString(key)]; + }, + forEach$1(_, f) { + var keys, t2, t3, i, t4, + t1 = this.$ti; + t1._eval$1("~(1,2)")._as(f); + keys = this.__js_helper$_keys; + for (t2 = keys.length, t3 = this._jsObject, t1 = t1._rest[1], i = 0; i < t2; ++i) { + t4 = A._asString(keys[i]); + f.call$2(t4, t1._as(t3[t4])); + } + }, + get$keys(_) { + return new A._ConstantMapKeyIterable(this, this.$ti._eval$1("_ConstantMapKeyIterable<1>")); + }, + get$values(_) { + var t1 = this.$ti; + return A.MappedIterable_MappedIterable(this.__js_helper$_keys, new A.ConstantStringMap_values_closure(this), t1._precomputed1, t1._rest[1]); + } + }; + A.ConstantStringMap_values_closure.prototype = { + call$1(key) { + var t1 = this.$this, + t2 = t1.$ti; + return t2._rest[1]._as(t1._jsObject[A._asString(t2._precomputed1._as(key))]); + }, + $signature() { + return this.$this.$ti._eval$1("2(1)"); + } + }; + A._ConstantMapKeyIterable.prototype = { + get$iterator(_) { + var t1 = this._map.__js_helper$_keys; + return new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>")); + }, + get$length(_) { + return this._map.__js_helper$_keys.length; + } + }; + A.JSInvocationMirror.prototype = { + get$memberName() { + var t1 = this._memberName; + return t1; + }, + get$positionalArguments() { + var t1, argumentCount, list, index, _this = this; + if (_this.__js_helper$_kind === 1) + return B.List_empty2; + t1 = _this._arguments; + argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; + if (argumentCount === 0) + return B.List_empty2; + list = []; + for (index = 0; index < argumentCount; ++index) { + if (!(index < t1.length)) + return A.ioore(t1, index); + list.push(t1[index]); + } + return J.JSArray_markUnmodifiableList(list); + }, + get$namedArguments() { + var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; + if (_this.__js_helper$_kind !== 0) + return B.Map_empty0; + t1 = _this._namedArgumentNames; + namedArgumentCount = t1.length; + t2 = _this._arguments; + namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; + if (namedArgumentCount === 0) + return B.Map_empty0; + map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); + for (i = 0; i < namedArgumentCount; ++i) { + if (!(i < t1.length)) + return A.ioore(t1, i); + t3 = t1[i]; + t4 = namedArgumentsStartIndex + i; + if (!(t4 >= 0 && t4 < t2.length)) + return A.ioore(t2, t4); + map.$indexSet(0, new A.Symbol(t3), t2[t4]); + } + return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic); + }, + $isInvocation: 1 + }; + A.Primitives_functionNoSuchMethod_closure.prototype = { + call$2($name, argument) { + var t1; + A._asString($name); + t1 = this._box_0; + t1.names = t1.names + "$" + $name; + B.JSArray_methods.add$1(this.namedArgumentList, $name); + B.JSArray_methods.add$1(this.$arguments, argument); + ++t1.argumentCount; + }, + $signature: 2 + }; + A.TypeErrorDecoder.prototype = { + matchTypeError$1(message) { + var result, t1, _this = this, + match = new RegExp(_this._pattern).exec(message); + if (match == null) + return null; + result = Object.create(null); + t1 = _this._arguments; + if (t1 !== -1) + result.arguments = match[t1 + 1]; + t1 = _this._argumentsExpr; + if (t1 !== -1) + result.argumentsExpr = match[t1 + 1]; + t1 = _this._expr; + if (t1 !== -1) + result.expr = match[t1 + 1]; + t1 = _this._method; + if (t1 !== -1) + result.method = match[t1 + 1]; + t1 = _this._receiver; + if (t1 !== -1) + result.receiver = match[t1 + 1]; + return result; + } + }; + A.NullError.prototype = { + toString$0(_) { + var t1 = this._method; + if (t1 == null) + return "NoSuchMethodError: " + this.__js_helper$_message; + return "NoSuchMethodError: method not found: '" + t1 + "' on null"; + } + }; + A.JsNoSuchMethodError.prototype = { + toString$0(_) { + var t2, _this = this, + _s38_ = "NoSuchMethodError: method not found: '", + t1 = _this._method; + if (t1 == null) + return "NoSuchMethodError: " + _this.__js_helper$_message; + t2 = _this._receiver; + if (t2 == null) + return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; + return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; + } + }; + A.UnknownJsTypeError.prototype = { + toString$0(_) { + var t1 = this.__js_helper$_message; + return t1.length === 0 ? "Error" : "Error: " + t1; + } + }; + A.NullThrownFromJavaScriptException.prototype = { + toString$0(_) { + return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; + } + }; + A.ExceptionAndStackTrace.prototype = {}; + A._StackTrace.prototype = { + toString$0(_) { + var trace, + t1 = this._trace; + if (t1 != null) + return t1; + t1 = this._exception; + trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; + return this._trace = trace == null ? "" : trace; + }, + $isStackTrace: 1 + }; + A.Closure.prototype = { + toString$0(_) { + var $constructor = this.constructor, + $name = $constructor == null ? null : $constructor.name; + return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'"; + }, + $isFunction: 1, + get$$call() { + return this; + }, + "call*": "call$1", + $requiredArgCount: 1, + $defaultValues: null + }; + A.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0}; + A.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2}; + A.TearOffClosure.prototype = {}; + A.StaticClosure.prototype = { + toString$0(_) { + var $name = this.$static_name; + if ($name == null) + return "Closure of unknown static method"; + return "Closure '" + A.unminifyOrTag($name) + "'"; + } + }; + A.BoundClosure.prototype = { + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + if (!(other instanceof A.BoundClosure)) + return false; + return this.$_target === other.$_target && this._receiver === other._receiver; + }, + get$hashCode(_) { + return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0; + }, + toString$0(_) { + return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); + } + }; + A._CyclicInitializationError.prototype = { + toString$0(_) { + return "Reading static variable '" + this.variableName + "' during its initialization"; + } + }; + A.RuntimeError.prototype = { + toString$0(_) { + return "RuntimeError: " + this.message; + } + }; + A._AssertionError.prototype = { + toString$0(_) { + return "Assertion failed: " + A.Error_safeToString(this.message); + } + }; + A._Required.prototype = {}; + A.assertInteropArgs_closure.prototype = { + call$1(arg) { + return !type$.Function._is(arg) || typeof arg == "function"; + }, + $signature: 82 + }; + A.JsLinkedHashMap.prototype = { + get$length(_) { + return this._length; + }, + get$isEmpty(_) { + return this._length === 0; + }, + get$keys(_) { + return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>")); + }, + get$values(_) { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), new A.JsLinkedHashMap_values_closure(this), t1._precomputed1, t1._rest[1]); + }, + containsKey$1(_, key) { + var strings, nums; + if (typeof key == "string") { + strings = this._strings; + if (strings == null) + return false; + return strings[key] != null; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this._nums; + if (nums == null) + return false; + return nums[key] != null; + } else + return this.internalContainsKey$1(key); + }, + internalContainsKey$1(key) { + var rest = this.__js_helper$_rest; + if (rest == null) + return false; + return this.internalFindBucketIndex$2(rest[this.internalComputeHashCode$1(key)], key) >= 0; + }, + addAll$1(_, other) { + J.forEach$1$ax(A._instanceType(this)._eval$1("Map<1,2>")._as(other), new A.JsLinkedHashMap_addAll_closure(this)); + }, + $index(_, key) { + var strings, cell, t1, nums, _null = null; + if (typeof key == "string") { + strings = this._strings; + if (strings == null) + return _null; + cell = strings[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this._nums; + if (nums == null) + return _null; + cell = nums[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else + return this.internalGet$1(key); + }, + internalGet$1(key) { + var bucket, index, + rest = this.__js_helper$_rest; + if (rest == null) + return null; + bucket = rest[this.internalComputeHashCode$1(key)]; + index = this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + return bucket[index].hashMapCellValue; + }, + $indexSet(_, key, value) { + var strings, nums, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string") { + strings = _this._strings; + _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = _this._nums; + _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); + } else + _this.internalSet$2(key, value); + }, + internalSet$2(key, value) { + var rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + rest = _this.__js_helper$_rest; + if (rest == null) + rest = _this.__js_helper$_rest = _this._newHashTable$0(); + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) { + t1 = [_this._newLinkedCell$2(key, value)]; + A.assertHelper(t1 != null); + rest[hash] = t1; + } else { + index = _this.internalFindBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index].hashMapCellValue = value; + else + bucket.push(_this._newLinkedCell$2(key, value)); + } + }, + putIfAbsent$2(_, key, ifAbsent) { + var t2, value, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._eval$1("2()")._as(ifAbsent); + if (_this.containsKey$1(0, key)) { + t2 = _this.$index(0, key); + return t2 == null ? t1._rest[1]._as(t2) : t2; + } + value = ifAbsent.call$0(); + _this.$indexSet(0, key, value); + return value; + }, + remove$1(_, key) { + var _this = this; + if (typeof key == "string") + return _this._removeHashTableEntry$2(_this._strings, key); + else if (typeof key == "number" && (key & 0x3fffffff) === key) + return _this._removeHashTableEntry$2(_this._nums, key); + else + return _this.internalRemove$1(key); + }, + internalRemove$1(key) { + var hash, bucket, index, cell, _this = this, + rest = _this.__js_helper$_rest; + if (rest == null) + return null; + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + index = _this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + cell = bucket.splice(index, 1)[0]; + _this._unlinkCell$1(cell); + if (bucket.length === 0) + delete rest[hash]; + return cell.hashMapCellValue; + }, + clear$0(_) { + var _this = this; + if (_this._length > 0) { + _this._strings = _this._nums = _this.__js_helper$_rest = _this._first = _this._last = null; + _this._length = 0; + _this._modified$0(); + } + }, + forEach$1(_, action) { + var cell, modifications, _this = this; + A._instanceType(_this)._eval$1("~(1,2)")._as(action); + cell = _this._first; + modifications = _this._modifications; + for (; cell != null;) { + action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); + if (modifications !== _this._modifications) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + cell = cell._next; + } + }, + _addHashTableEntry$3(table, key, value) { + var cell, + t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + cell = table[key]; + if (cell == null) + table[key] = this._newLinkedCell$2(key, value); + else + cell.hashMapCellValue = value; + }, + _removeHashTableEntry$2(table, key) { + var cell; + if (table == null) + return null; + cell = table[key]; + if (cell == null) + return null; + this._unlinkCell$1(cell); + delete table[key]; + return cell.hashMapCellValue; + }, + _modified$0() { + this._modifications = this._modifications + 1 & 1073741823; + }, + _newLinkedCell$2(key, value) { + var _this = this, + t1 = A._instanceType(_this), + cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); + if (_this._first == null) + _this._first = _this._last = cell; + else { + t1 = _this._last; + t1.toString; + cell._previous = t1; + _this._last = t1._next = cell; + } + ++_this._length; + _this._modified$0(); + return cell; + }, + _unlinkCell$1(cell) { + var _this = this, + previous = cell._previous, + next = cell._next; + if (previous == null) { + A.assertHelper(cell === _this._first); + _this._first = next; + } else + previous._next = next; + if (next == null) { + A.assertHelper(cell === _this._last); + _this._last = previous; + } else + next._previous = previous; + --_this._length; + _this._modified$0(); + }, + internalComputeHashCode$1(key) { + return J.get$hashCode$(key) & 0x3fffffff; + }, + internalFindBucketIndex$2(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i].hashMapCellKey, key)) + return i; + return -1; + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + _newHashTable$0() { + var table = Object.create(null); + A.assertHelper(table != null); + table[""] = table; + delete table[""]; + return table; + }, + $isLinkedHashMap: 1 + }; + A.JsLinkedHashMap_values_closure.prototype = { + call$1(each) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1 = t1.$index(0, t2._precomputed1._as(each)); + return t1 == null ? t2._rest[1]._as(t1) : t1; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("2(1)"); + } + }; + A.JsLinkedHashMap_addAll_closure.prototype = { + call$2(key, value) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1.$indexSet(0, t2._precomputed1._as(key), t2._rest[1]._as(value)); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(1,2)"); + } + }; + A.LinkedHashMapCell.prototype = {}; + A.LinkedHashMapKeyIterable.prototype = { + get$length(_) { + return this._map._length; + }, + get$isEmpty(_) { + return this._map._length === 0; + }, + get$iterator(_) { + var t1 = this._map, + t2 = new A.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); + t2._cell = t1._first; + return t2; + } + }; + A.LinkedHashMapKeyIterator.prototype = { + get$current(_) { + return this.__js_helper$_current; + }, + moveNext$0() { + var cell, _this = this, + t1 = _this._map; + if (_this._modifications !== t1._modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + cell = _this._cell; + if (cell == null) { + _this.set$__js_helper$_current(null); + return false; + } else { + _this.set$__js_helper$_current(cell.hashMapCellKey); + _this._cell = cell._next; + return true; + } + }, + set$__js_helper$_current(_current) { + this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.initHooks_closure.prototype = { + call$1(o) { + return this.getTag(o); + }, + $signature: 59 + }; + A.initHooks_closure0.prototype = { + call$2(o, tag) { + return this.getUnknownTag(o, tag); + }, + $signature: 106 + }; + A.initHooks_closure1.prototype = { + call$1(tag) { + return this.prototypeForTag(A._asString(tag)); + }, + $signature: 88 + }; + A.JSSyntaxRegExp.prototype = { + toString$0(_) { + return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags; + }, + get$_nativeGlobalVersion() { + var _this = this, + t1 = _this._nativeGlobalRegExp; + if (t1 != null) + return t1; + t1 = _this._nativeRegExp; + return _this._nativeGlobalRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); + }, + firstMatch$1(string) { + var m = this._nativeRegExp.exec(string); + if (m == null) + return null; + return A._MatchImplementation$(this, m); + }, + allMatches$1(_, string) { + return new A._AllMatchesIterable(this, string, 0); + }, + _execGlobal$2(string, start) { + var match, + regexp = this.get$_nativeGlobalVersion(); + if (regexp == null) + regexp = type$.Object._as(regexp); + regexp.lastIndex = start; + match = regexp.exec(string); + if (match == null) + return null; + return A._MatchImplementation$(this, match); + }, + $isPattern: 1, + $isRegExp: 1 + }; + A._MatchImplementation.prototype = { + $index(_, index) { + var t1 = this._match; + if (!(index < t1.length)) + return A.ioore(t1, index); + return t1[index]; + }, + $isMatch: 1, + $isRegExpMatch: 1 + }; + A._AllMatchesIterable.prototype = { + get$iterator(_) { + return new A._AllMatchesIterator(this._re, this._string, this.__js_helper$_start); + } + }; + A._AllMatchesIterator.prototype = { + get$current(_) { + var t1 = this.__js_helper$_current; + return t1 == null ? type$.RegExpMatch._as(t1) : t1; + }, + moveNext$0() { + var t1, t2, t3, match, t4, nextIndex, _this = this, + string = _this._string; + if (string == null) + return false; + t1 = _this._nextIndex; + t2 = string.length; + if (t1 <= t2) { + t3 = _this._regExp; + match = t3._execGlobal$2(string, t1); + if (match != null) { + _this.__js_helper$_current = match; + t1 = match._match; + t4 = t1.index; + nextIndex = t4 + t1[0].length; + if (t4 === nextIndex) { + if (t3._nativeRegExp.unicode) { + t1 = _this._nextIndex; + t3 = t1 + 1; + if (t3 < t2) { + t1 = B.JSString_methods.codeUnitAt$1(string, t1); + if (t1 >= 55296 && t1 <= 56319) { + t1 = B.JSString_methods.codeUnitAt$1(string, t3); + t1 = t1 >= 56320 && t1 <= 57343; + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1; + } + _this._nextIndex = nextIndex; + return true; + } + } + _this._string = _this.__js_helper$_current = null; + return false; + }, + $isIterator: 1 + }; + A.StringMatch.prototype = { + $index(_, g) { + if (g !== 0) + A.throwExpression(A.RangeError$value(g, null)); + return this.pattern; + }, + $isMatch: 1 + }; + A._StringAllMatchesIterable.prototype = { + get$iterator(_) { + return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index); + }, + get$first(_) { + var t1 = this._pattern, + index = this._input.indexOf(t1, this.__js_helper$_index); + if (index >= 0) + return new A.StringMatch(index, t1); + throw A.wrapException(A.IterableElementError_noElement()); + } + }; + A._StringAllMatchesIterator.prototype = { + moveNext$0() { + var index, end, _this = this, + t1 = _this.__js_helper$_index, + t2 = _this._pattern, + t3 = t2.length, + t4 = _this._input, + t5 = t4.length; + if (t1 + t3 > t5) { + _this.__js_helper$_current = null; + return false; + } + index = t4.indexOf(t2, t1); + if (index < 0) { + _this.__js_helper$_index = t5 + 1; + _this.__js_helper$_current = null; + return false; + } + end = index + t3; + _this.__js_helper$_current = new A.StringMatch(index, t2); + _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end; + return true; + }, + get$current(_) { + var t1 = this.__js_helper$_current; + t1.toString; + return t1; + }, + $isIterator: 1 + }; + A._Cell.prototype = { + _readLocal$0() { + var t1 = this._value; + if (t1 === this) + throw A.wrapException(new A.LateError("Local '" + this.__late_helper$_name + "' has not been initialized.")); + return t1; + }, + _readField$0() { + var t1 = this._value; + if (t1 === this) + throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name)); + return t1; + } + }; + A.NativeByteBuffer.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteBuffer_RkP; + }, + $isNativeByteBuffer: 1, + $isTrustedGetRuntimeType: 1, + $isByteBuffer: 1 + }; + A.NativeTypedData.prototype = { + _invalidPosition$3(receiver, position, $length, $name) { + var t1 = A.RangeError$range(position, 0, $length, $name, null); + throw A.wrapException(t1); + }, + _checkPosition$3(receiver, position, $length, $name) { + if (position >>> 0 !== position || position > $length) + this._invalidPosition$3(receiver, position, $length, $name); + }, + $isNativeTypedData: 1 + }; + A.NativeByteData.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteData_zNC; + }, + _getUint32$2(receiver, byteOffset, littleEndian) { + return receiver.getUint32(byteOffset, littleEndian); + }, + _setFloat64$3(receiver, byteOffset, value, littleEndian) { + return receiver.setFloat64(byteOffset, value, littleEndian); + }, + _setUint32$3(receiver, byteOffset, value, littleEndian) { + return receiver.setUint32(byteOffset, value, littleEndian); + }, + $isTrustedGetRuntimeType: 1, + $isByteData: 1 + }; + A.NativeTypedArray.prototype = { + get$length(receiver) { + return receiver.length; + }, + _setRangeFast$4(receiver, start, end, source, skipCount) { + var count, sourceLength, + targetLength = receiver.length; + this._checkPosition$3(receiver, start, targetLength, "start"); + this._checkPosition$3(receiver, end, targetLength, "end"); + if (start > end) + throw A.wrapException(A.RangeError$range(start, 0, end, null, null)); + count = end - start; + if (skipCount < 0) + throw A.wrapException(A.ArgumentError$(skipCount, null)); + sourceLength = source.length; + if (sourceLength - skipCount < count) + throw A.wrapException(A.StateError$("Not enough elements")); + if (skipCount !== 0 || sourceLength !== count) + source = source.subarray(skipCount, skipCount + count); + receiver.set(source, start); + }, + $isJSIndexable: 1, + $isJavaScriptIndexingBehavior: 1 + }; + A.NativeTypedArrayOfDouble.prototype = { + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._asDouble(value); + A._checkValidIndex(index, receiver, receiver.length); + receiver[index] = value; + }, + setRange$4(receiver, start, end, iterable, skipCount) { + type$.Iterable_double._as(iterable); + if (type$.NativeTypedArrayOfDouble._is(iterable)) { + this._setRangeFast$4(receiver, start, end, iterable, skipCount); + return; + } + this.super$ListBase$setRange(receiver, start, end, iterable, skipCount); + }, + setRange$3($receiver, start, end, iterable) { + return this.setRange$4($receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeTypedArrayOfInt.prototype = { + $indexSet(receiver, index, value) { + A._asInt(value); + A._checkValidIndex(index, receiver, receiver.length); + receiver[index] = value; + }, + setRange$4(receiver, start, end, iterable, skipCount) { + type$.Iterable_int._as(iterable); + if (type$.NativeTypedArrayOfInt._is(iterable)) { + this._setRangeFast$4(receiver, start, end, iterable, skipCount); + return; + } + this.super$ListBase$setRange(receiver, start, end, iterable, skipCount); + }, + setRange$3($receiver, start, end, iterable) { + return this.setRange$4($receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeFloat32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float32List_LB7; + }, + sublist$2(receiver, start, end) { + return new Float32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeFloat64List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float64List_LB7; + }, + sublist$2(receiver, start, end) { + return new Float64Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeInt16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int16List_uXf; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int16Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeInt32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int32List_O50; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeInt8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int8List_ekJ; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeUint16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint16List_2bx; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint16Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isUint16List: 1 + }; + A.NativeUint32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint32List_2bx; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeUint8ClampedList.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8ClampedList_Jik; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8ClampedArray(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1 + }; + A.NativeUint8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8List_WLA; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isNativeUint8List: 1, + $isTrustedGetRuntimeType: 1, + $isUint8List: 1 + }; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A.Rti.prototype = { + _eval$1(recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + }, + _bind$1(typeOrTuple) { + return A._Universe_bind(init.typeUniverse, this, typeOrTuple); + } + }; + A._FunctionParameters.prototype = {}; + A._Type.prototype = { + toString$0(_) { + return A._rtiToString(this._rti, null); + } + }; + A._Error.prototype = { + toString$0(_) { + return this.__rti$_message; + } + }; + A._TypeError.prototype = {$isTypeError: 1}; + A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { + call$1(_) { + var t1 = this._box_0, + f = t1.storedCallback; + t1.storedCallback = null; + f.call$0(); + }, + $signature: 12 + }; + A._AsyncRun__initializeScheduleImmediate_closure.prototype = { + call$1(callback) { + var t1, t2; + type$.void_Function._as(callback); + t1 = this._box_0; + A.assertHelper(t1.storedCallback == null); + t1.storedCallback = callback; + t1 = this.div; + t2 = this.span; + t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); + }, + $signature: 85 + }; + A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 4 + }; + A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 4 + }; + A._TimerImpl.prototype = { + _TimerImpl$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found.")); + }, + _TimerImpl$periodic$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setInterval(A.convertDartClosureToJS(new A._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("Periodic timer.")); + }, + $isTimer: 1 + }; + A._TimerImpl_internalCallback.prototype = { + call$0() { + this.$this._tick = 1; + this.callback.call$0(); + }, + $signature: 0 + }; + A._TimerImpl$periodic_closure.prototype = { + call$0() { + var duration, _this = this, + t1 = _this.$this, + tick = t1._tick + 1, + t2 = _this.milliseconds; + if (t2 > 0) { + duration = Date.now() - _this.start; + if (duration > (tick + 1) * t2) + tick = B.JSInt_methods.$tdiv(duration, t2); + } + t1._tick = tick; + _this.callback.call$1(t1); + }, + $signature: 4 + }; + A._AsyncAwaitCompleter.prototype = { + complete$1(_, value) { + var t2, _this = this, + t1 = _this.$ti; + t1._eval$1("1/?")._as(value); + if (value == null) + value = t1._precomputed1._as(value); + if (!_this.isSync) + _this._future._asyncComplete$1(value); + else { + t2 = _this._future; + if (t1._eval$1("Future<1>")._is(value)) { + A.assertHelper((t2._state & 24) === 0); + t2._chainFuture$1(value); + } else + t2._completeWithValue$1(value); + } + }, + completeError$2(e, st) { + var t1 = this._future; + if (this.isSync) + t1._completeError$2(e, st); + else + t1._asyncCompleteError$2(e, st); + }, + $isCompleter: 1 + }; + A._awaitOnObject_closure.prototype = { + call$1(result) { + return this.bodyFunction.call$2(0, result); + }, + $signature: 7 + }; + A._awaitOnObject_closure0.prototype = { + call$2(error, stackTrace) { + this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); + }, + $signature: 18 + }; + A._wrapJsFunctionForAsync_closure.prototype = { + call$2(errorCode, result) { + this.$protected(A._asInt(errorCode), result); + }, + $signature: 81 + }; + A._IterationMarker.prototype = { + toString$0(_) { + return "IterationMarker(" + this.state + ", " + A.S(this.value) + ")"; + } + }; + A._SyncStarIterator.prototype = { + get$current(_) { + var t1, + nested = this._nestedIterator; + if (nested == null) { + t1 = this._async$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + } + return nested.get$current(nested); + }, + moveNext$0() { + var t1, t2, value, state, suspendedBodies, inner, _this = this; + for (t1 = _this.$ti._eval$1("Iterator<1>"); true;) { + t2 = _this._nestedIterator; + if (t2 != null) + if (t2.moveNext$0()) + return true; + else + _this.set$_nestedIterator(null); + value = function(body, SUCCESS, ERROR) { + var errorValue, + errorCode = SUCCESS; + while (true) + try { + return body(errorCode, errorValue); + } catch (error) { + errorValue = error; + errorCode = ERROR; + } + }(_this._body, 0, 1); + if (value instanceof A._IterationMarker) { + state = value.state; + if (state === 2) { + suspendedBodies = _this._suspendedBodies; + if (suspendedBodies == null || suspendedBodies.length === 0) { + _this.set$_async$_current(null); + return false; + } + if (0 >= suspendedBodies.length) + return A.ioore(suspendedBodies, -1); + _this._body = suspendedBodies.pop(); + continue; + } else { + t2 = value.value; + if (state === 3) + throw t2; + else { + A.assertHelper(state === 1); + inner = t1._as(J.get$iterator$ax(t2)); + if (inner instanceof A._SyncStarIterator) { + t2 = _this._suspendedBodies; + if (t2 == null) + t2 = _this._suspendedBodies = []; + B.JSArray_methods.add$1(t2, _this._body); + _this._body = inner._body; + continue; + } else { + _this.set$_nestedIterator(inner); + continue; + } + } + } + } else { + _this.set$_async$_current(value); + return true; + } + } + return false; + }, + set$_async$_current(_current) { + this._async$_current = this.$ti._eval$1("1?")._as(_current); + }, + set$_nestedIterator(_nestedIterator) { + this._nestedIterator = this.$ti._eval$1("Iterator<1>?")._as(_nestedIterator); + }, + $isIterator: 1 + }; + A._SyncStarIterable.prototype = { + get$iterator(_) { + return new A._SyncStarIterator(this._outerHelper(), this.$ti._eval$1("_SyncStarIterator<1>")); + } + }; + A.AsyncError.prototype = { + toString$0(_) { + return A.S(this.error); + }, + $isError: 1, + get$stackTrace() { + return this.stackTrace; + } + }; + A._BroadcastStream.prototype = {}; + A._BroadcastSubscription.prototype = { + _onPause$0() { + }, + _onResume$0() { + }, + set$_async$_next(_next) { + this._async$_next = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_next); + }, + set$_async$_previous(_previous) { + this._async$_previous = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_previous); + } + }; + A._BroadcastStreamController.prototype = { + get$_mayAddEvent() { + return this._state < 4; + }, + _removeListener$1(subscription) { + var previous, next, _this = this; + A._instanceType(_this)._eval$1("_BroadcastSubscription<1>")._as(subscription); + A.assertHelper(subscription._controller === _this); + A.assertHelper(subscription._async$_next !== subscription); + previous = subscription._async$_previous; + next = subscription._async$_next; + if (previous == null) + _this.set$_firstSubscription(next); + else + previous.set$_async$_next(next); + if (next == null) + _this.set$_lastSubscription(previous); + else + next.set$_async$_previous(previous); + subscription.set$_async$_previous(subscription); + subscription.set$_async$_next(subscription); + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var t2, t3, t4, subscription, oldLast, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._state & 4) !== 0) { + t1 = new A._DoneStreamSubscription($.Zone__current, onDone, t1._eval$1("_DoneStreamSubscription<1>")); + t1._schedule$0(); + return t1; + } + t2 = $.Zone__current; + t3 = cancelOnError ? 1 : 0; + t4 = t1._eval$1("_BroadcastSubscription<1>"); + subscription = new A._BroadcastSubscription(_this, A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1), A._BufferingStreamSubscription__registerErrorHandler(t2, onError), A._BufferingStreamSubscription__registerDoneHandler(t2, onDone), t2, t3, t4); + subscription.set$_async$_previous(subscription); + subscription.set$_async$_next(subscription); + t4._as(subscription); + A.assertHelper(subscription._async$_next === subscription); + subscription._eventState = _this._state & 1; + oldLast = _this._lastSubscription; + _this.set$_lastSubscription(subscription); + subscription.set$_async$_next(null); + subscription.set$_async$_previous(oldLast); + if (oldLast == null) + _this.set$_firstSubscription(subscription); + else + oldLast.set$_async$_next(subscription); + if (_this._firstSubscription == _this._lastSubscription) + A._runGuarded(_this.onListen); + return subscription; + }, + _recordCancel$1(sub) { + var _this = this, + t1 = A._instanceType(_this); + sub = t1._eval$1("_BroadcastSubscription<1>")._as(t1._eval$1("StreamSubscription<1>")._as(sub)); + if (sub._async$_next === sub) + return null; + if ((sub._eventState & 2) !== 0) + sub._eventState |= 4; + else { + _this._removeListener$1(sub); + if ((_this._state & 2) === 0 && _this._firstSubscription == null) + _this._callOnCancel$0(); + } + return null; + }, + _recordPause$1(subscription) { + A._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription); + }, + _recordResume$1(subscription) { + A._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription); + }, + _addEventError$0() { + var t1 = this._state; + if ((t1 & 4) !== 0) + return new A.StateError("Cannot add new events after calling close"); + A.assertHelper((t1 & 8) !== 0); + return new A.StateError("Cannot add new events while doing an addStream"); + }, + add$1(_, data) { + var _this = this; + A._instanceType(_this)._precomputed1._as(data); + if (!_this.get$_mayAddEvent()) + throw A.wrapException(_this._addEventError$0()); + _this._sendData$1(data); + }, + addError$2(error, stackTrace) { + var replacement; + A.checkNotNullable(error, "error", type$.Object); + if (!this.get$_mayAddEvent()) + throw A.wrapException(this._addEventError$0()); + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + this._sendError$2(error, stackTrace); + }, + close$0(_) { + var t1, doneFuture, _this = this; + if ((_this._state & 4) !== 0) { + A.assertHelper(_this._doneFuture != null); + t1 = _this._doneFuture; + t1.toString; + return t1; + } + if (!_this.get$_mayAddEvent()) + throw A.wrapException(_this._addEventError$0()); + _this._state |= 4; + doneFuture = _this._doneFuture; + if (doneFuture == null) + doneFuture = _this._doneFuture = new A._Future($.Zone__current, type$._Future_void); + _this._sendDone$0(); + return doneFuture; + }, + _forEachListener$1(action) { + var t1, subscription, id, next, _this = this; + A._instanceType(_this)._eval$1("~(_BufferingStreamSubscription<1>)")._as(action); + t1 = _this._state; + if ((t1 & 2) !== 0) + throw A.wrapException(A.StateError$(string$.Cannot)); + subscription = _this._firstSubscription; + if (subscription == null) + return; + id = t1 & 1; + _this._state = t1 ^ 3; + for (; subscription != null;) { + t1 = subscription._eventState; + if ((t1 & 1) === id) { + subscription._eventState = t1 | 2; + action.call$1(subscription); + t1 = subscription._eventState ^= 1; + next = subscription._async$_next; + if ((t1 & 4) !== 0) + _this._removeListener$1(subscription); + subscription._eventState &= 4294967293; + subscription = next; + } else + subscription = subscription._async$_next; + } + _this._state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + }, + _callOnCancel$0() { + var doneFuture, _this = this; + A.assertHelper(_this._firstSubscription == null); + if ((_this._state & 4) !== 0) { + doneFuture = _this._doneFuture; + if ((doneFuture._state & 30) === 0) + doneFuture._asyncComplete$1(null); + } + A._runGuarded(_this.onCancel); + }, + set$_firstSubscription(_firstSubscription) { + this._firstSubscription = A._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_firstSubscription); + }, + set$_lastSubscription(_lastSubscription) { + this._lastSubscription = A._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_lastSubscription); + }, + $isStreamConsumer: 1, + $isStreamSink: 1, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._SyncBroadcastStreamController.prototype = { + get$_mayAddEvent() { + return A._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._state & 2) === 0; + }, + _addEventError$0() { + if ((this._state & 2) !== 0) + return new A.StateError(string$.Cannot); + return this.super$_BroadcastStreamController$_addEventError(); + }, + _sendData$1(data) { + var firstSubscription, _this = this; + _this.$ti._precomputed1._as(data); + firstSubscription = _this._firstSubscription; + if (firstSubscription == null) + return; + if (firstSubscription == _this._lastSubscription) { + _this._state |= 2; + firstSubscription._add$1(0, data); + _this._state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + return; + } + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendData_closure(_this, data)); + }, + _sendError$2(error, stackTrace) { + if (this._firstSubscription == null) + return; + this._forEachListener$1(new A._SyncBroadcastStreamController__sendError_closure(this, error, stackTrace)); + }, + _sendDone$0() { + var t1, _this = this; + if (_this._firstSubscription != null) + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendDone_closure(_this)); + else { + t1 = _this._doneFuture; + A.assertHelper(t1 != null && (t1._state & 30) === 0); + _this._doneFuture._asyncComplete$1(null); + } + } + }; + A._SyncBroadcastStreamController__sendData_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._add$1(0, this.data); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._SyncBroadcastStreamController__sendError_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._addError$2(this.error, this.stackTrace); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._SyncBroadcastStreamController__sendDone_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._close$0(); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A.Future_Future_closure.prototype = { + call$0() { + var e, s, exception; + try { + this.result._complete$1(this.computation.call$0()); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._completeWithErrorCallback(this.result, e, s); + } + }, + $signature: 0 + }; + A.Future_Future$delayed_closure.prototype = { + call$0() { + this.T._as(null); + this.result._complete$1(null); + }, + $signature: 0 + }; + A.Future_wait_handleError.prototype = { + call$2(theError, theStackTrace) { + var t1, t2, _this = this; + type$.Object._as(theError); + type$.StackTrace._as(theStackTrace); + t1 = _this._box_0; + t2 = --t1.remaining; + if (t1.values != null) { + t1.values = null; + if (t1.remaining === 0 || _this.eagerError) + _this._future._completeError$2(theError, theStackTrace); + else { + _this.error._value = theError; + _this.stackTrace._value = theStackTrace; + } + } else if (t2 === 0 && !_this.eagerError) + _this._future._completeError$2(_this.error._readLocal$0(), _this.stackTrace._readLocal$0()); + }, + $signature: 9 + }; + A.Future_wait_closure.prototype = { + call$1(value) { + var valueList, t2, _this = this, + t1 = _this.T; + t1._as(value); + t2 = _this._box_0; + --t2.remaining; + valueList = t2.values; + if (valueList != null) { + J.$indexSet$ax(valueList, _this.pos, value); + if (t2.remaining === 0) + _this._future._completeWithValue$1(A.List_List$from(valueList, true, t1)); + } else if (t2.remaining === 0 && !_this.eagerError) + _this._future._completeError$2(_this.error._readLocal$0(), _this.stackTrace._readLocal$0()); + }, + $signature() { + return this.T._eval$1("Null(0)"); + } + }; + A._Completer.prototype = { + completeError$2(error, stackTrace) { + var replacement, + t1 = type$.Object; + t1._as(error); + type$.nullable_StackTrace._as(stackTrace); + A.checkNotNullable(error, "error", t1); + if ((this.future._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + this._completeError$2(error, stackTrace); + }, + completeError$1(error) { + return this.completeError$2(error, null); + }, + $isCompleter: 1 + }; + A._AsyncCompleter.prototype = { + complete$1(_, value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._asyncComplete$1(t1._eval$1("1/")._as(value)); + }, + complete$0($receiver) { + return this.complete$1($receiver, null); + }, + _completeError$2(error, stackTrace) { + this.future._asyncCompleteError$2(error, stackTrace); + } + }; + A._SyncCompleter.prototype = { + complete$1(_, value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._complete$1(t1._eval$1("1/")._as(value)); + }, + complete$0($receiver) { + return this.complete$1($receiver, null); + }, + _completeError$2(error, stackTrace) { + this.future._completeError$2(error, stackTrace); + } + }; + A._FutureListener.prototype = { + matchesErrorTest$1(asyncError) { + if ((this.state & 15) !== 6) + return true; + return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); + }, + handleError$1(asyncError) { + var result, errorCallback, t2, t3, t4, t5, exception, _this = this, + t1 = _this.state; + A.assertHelper((t1 & 2) !== 0 && _this.errorCallback != null); + errorCallback = _this.errorCallback; + result = null; + t2 = type$.dynamic; + t3 = type$.Object; + t4 = asyncError.error; + t5 = _this.result._zone; + if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) + result = t5.runBinary$3$3(errorCallback, t4, asyncError.stackTrace, t2, t3, type$.StackTrace); + else + result = t5.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t4, t2, t3); + try { + t2 = _this.$ti._eval$1("2/")._as(result); + return t2; + } catch (exception) { + if (type$.TypeError._is(A.unwrapException(exception))) { + if ((t1 & 1) !== 0) + throw A.wrapException(A.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError")); + throw A.wrapException(A.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError")); + } else + throw exception; + } + } + }; + A._Future.prototype = { + then$1$2$onError(f, onError, $R) { + var currentZone, result, t2, + t1 = this.$ti; + t1._bind$1($R)._eval$1("1/(2)")._as(f); + currentZone = $.Zone__current; + if (currentZone === B.C__RootZone) { + if (onError != null && !type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError)) + throw A.wrapException(A.ArgumentError$value(onError, "onError", string$.Error_)); + } else { + f = currentZone.registerUnaryCallback$2$1(f, $R._eval$1("0/"), t1._precomputed1); + if (onError != null) + onError = A._registerErrorHandler(onError, currentZone); + } + result = new A._Future($.Zone__current, $R._eval$1("_Future<0>")); + t2 = onError == null ? 1 : 3; + this._addListener$1(new A._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); + return result; + }, + then$1$1(f, $R) { + return this.then$1$2$onError(f, null, $R); + }, + _thenAwait$1$2(f, onError, $E) { + var result, + t1 = this.$ti; + t1._bind$1($E)._eval$1("1/(2)")._as(f); + result = new A._Future($.Zone__current, $E._eval$1("_Future<0>")); + this._addListener$1(new A._FutureListener(result, 3, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); + return result; + }, + whenComplete$1(action) { + var t1, t2, result; + type$.dynamic_Function._as(action); + t1 = this.$ti; + t2 = $.Zone__current; + result = new A._Future(t2, t1); + if (t2 !== B.C__RootZone) + action = t2.registerCallback$1$1(action, type$.dynamic); + this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>"))); + return result; + }, + _setPendingComplete$0() { + A.assertHelper((this._state & 30) === 0); + this._state ^= 2; + }, + _setErrorObject$1(error) { + var _this = this; + A.assertHelper((_this._state & 24) === 0); + _this._state = _this._state & 1 | 16; + _this._resultOrListeners = error; + }, + _cloneResult$1(source) { + var _this = this; + A.assertHelper((_this._state & 24) === 0); + A.assertHelper((source._state & 24) !== 0); + _this._state = source._state & 30 | _this._state & 1; + _this._resultOrListeners = source._resultOrListeners; + }, + _addListener$1(listener) { + var t1, source, _this = this; + A.assertHelper(listener._nextListener == null); + t1 = _this._state; + if (t1 <= 3) { + listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listener; + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._state & 24) === 0) { + source._addListener$1(listener); + return; + } + _this._cloneResult$1(source); + } + A.assertHelper((_this._state & 24) !== 0); + _this._zone.scheduleMicrotask$1(new A._Future__addListener_closure(_this, listener)); + } + }, + _prependListeners$1(listeners) { + var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {}; + _box_0.listeners = listeners; + if (listeners == null) + return; + t1 = _this._state; + if (t1 <= 3) { + existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listeners; + if (existingListeners != null) { + next = listeners._nextListener; + for (cursor = listeners; next != null; cursor = next, next = next0) + next0 = next._nextListener; + cursor._nextListener = existingListeners; + } + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._state & 24) === 0) { + source._prependListeners$1(listeners); + return; + } + _this._cloneResult$1(source); + } + A.assertHelper((_this._state & 24) !== 0); + _box_0.listeners = _this._reverseListeners$1(listeners); + _this._zone.scheduleMicrotask$1(new A._Future__prependListeners_closure(_box_0, _this)); + } + }, + _removeListeners$0() { + var current, _this = this; + A.assertHelper((_this._state & 24) === 0); + current = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = null; + return _this._reverseListeners$1(current); + }, + _reverseListeners$1(listeners) { + var current, prev, next; + for (current = listeners, prev = null; current != null; prev = current, current = next) { + next = current._nextListener; + current._nextListener = prev; + } + return prev; + }, + _chainForeignFuture$1(source) { + var e, s, exception, _this = this; + A.assertHelper((_this._state & 24) === 0); + A.assertHelper(false); + _this._setPendingComplete$0(); + try { + source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A.scheduleMicrotask(new A._Future__chainForeignFuture_closure1(_this, e, s)); + } + }, + _complete$1(value) { + var listeners, _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + A.assertHelper((_this._state & 24) === 0); + if (t1._eval$1("Future<1>")._is(value)) + if (t1._is(value)) + A._Future__chainCoreFuture(value, _this); + else + _this._chainForeignFuture$1(value); + else { + listeners = _this._removeListeners$0(); + t1._precomputed1._as(value); + A.assertHelper((_this._state & 24) === 0); + _this._state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + } + }, + _completeWithValue$1(value) { + var listeners, _this = this; + _this.$ti._precomputed1._as(value); + A.assertHelper((_this._state & 24) === 0); + listeners = _this._removeListeners$0(); + A.assertHelper((_this._state & 24) === 0); + _this._state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + }, + _completeError$2(error, stackTrace) { + var listeners, _this = this; + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + A.assertHelper((_this._state & 24) === 0); + listeners = _this._removeListeners$0(); + _this._setErrorObject$1(A.AsyncError$(error, stackTrace)); + A._Future__propagateToListeners(_this, listeners); + }, + _asyncComplete$1(value) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + A.assertHelper((_this._state & 24) === 0); + if (t1._eval$1("Future<1>")._is(value)) { + _this._chainFuture$1(value); + return; + } + _this._asyncCompleteWithValue$1(value); + }, + _asyncCompleteWithValue$1(value) { + var _this = this; + _this.$ti._precomputed1._as(value); + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteWithValue_closure(_this, value)); + }, + _chainFuture$1(value) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("Future<1>")._as(value); + if (t1._is(value)) { + if ((value._state & 16) !== 0) { + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__chainFuture_closure(_this, value)); + } else + A._Future__chainCoreFuture(value, _this); + return; + } + _this._chainForeignFuture$1(value); + }, + _asyncCompleteError$2(error, stackTrace) { + var _this = this; + type$.StackTrace._as(stackTrace); + A.assertHelper((_this._state & 24) === 0); + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteError_closure(_this, error, stackTrace)); + }, + $isFuture: 1 + }; + A._Future__addListener_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this.listener); + }, + $signature: 0 + }; + A._Future__prependListeners_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this._box_0.listeners); + }, + $signature: 0 + }; + A._Future__chainForeignFuture_closure.prototype = { + call$1(value) { + var error, stackTrace, exception, + t1 = this.$this; + A.assertHelper((t1._state & 2) !== 0); + A.assertHelper((t1._state & 2) !== 0); + t1._state ^= 2; + try { + t1._completeWithValue$1(t1.$ti._precomputed1._as(value)); + } catch (exception) { + error = A.unwrapException(exception); + stackTrace = A.getTraceFromException(exception); + t1._completeError$2(error, stackTrace); + } + }, + $signature: 12 + }; + A._Future__chainForeignFuture_closure0.prototype = { + call$2(error, stackTrace) { + var t1; + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + t1 = this.$this; + A.assertHelper((t1._state & 2) !== 0); + t1._completeError$2(error, stackTrace); + }, + $signature: 79 + }; + A._Future__chainForeignFuture_closure1.prototype = { + call$0() { + this.$this._completeError$2(this.e, this.s); + }, + $signature: 0 + }; + A._Future__asyncCompleteWithValue_closure.prototype = { + call$0() { + this.$this._completeWithValue$1(this.value); + }, + $signature: 0 + }; + A._Future__chainFuture_closure.prototype = { + call$0() { + A._Future__chainCoreFuture(this.value, this.$this); + }, + $signature: 0 + }; + A._Future__asyncCompleteError_closure.prototype = { + call$0() { + this.$this._completeError$2(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { + call$0() { + var completeResult, e, s, t2, t3, exception, originalSource, _this = this, + t1 = _this._box_0; + A.assertHelper((t1.listener.state & 1) === 0); + A.assertHelper((t1.listener.state & 2) === 0); + completeResult = null; + try { + t2 = t1.listener; + t3 = t2.state; + A.assertHelper((t3 & 2) === 0); + A.assertHelper((t3 & 15) === 8); + completeResult = t2.result._zone.run$1$1(type$.dynamic_Function._as(t2.callback), type$.dynamic); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (_this.hasError) { + t2 = _this._box_1.source; + A.assertHelper((t2._state & 16) !== 0); + t2 = type$.AsyncError._as(t2._resultOrListeners).error === e; + } else + t2 = false; + if (t2) { + t2 = _this._box_1.source; + A.assertHelper((t2._state & 16) !== 0); + t1.listenerValueOrError = type$.AsyncError._as(t2._resultOrListeners); + } else + t1.listenerValueOrError = A.AsyncError$(e, s); + t1.listenerHasError = true; + return; + } + if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) { + if ((completeResult._state & 16) !== 0) { + t2 = completeResult; + A.assertHelper((t2._state & 16) !== 0); + t1.listenerValueOrError = type$.AsyncError._as(t2._resultOrListeners); + t1.listenerHasError = true; + } + return; + } + if (type$.Future_dynamic._is(completeResult)) { + originalSource = _this._box_1.source; + t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); + t1.listenerHasError = false; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { + call$1(_) { + return this.originalSource; + }, + $signature: 62 + }; + A._Future__propagateToListeners_handleValueCallback.prototype = { + call$0() { + var e, s, t1, t2, t3, t4, t5, exception; + try { + t1 = this._box_0; + t2 = t1.listener; + t3 = t2.$ti; + t4 = t3._precomputed1; + t5 = t4._as(this.sourceResult); + A.assertHelper((t2.state & 1) !== 0); + t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = this._box_0; + t1.listenerValueOrError = A.AsyncError$(e, s); + t1.listenerHasError = true; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleError.prototype = { + call$0() { + var asyncError, e, s, t1, t2, exception, t3, t4, _this = this; + try { + t1 = _this._box_1.source; + A.assertHelper((t1._state & 16) !== 0); + asyncError = type$.AsyncError._as(t1._resultOrListeners); + t1 = _this._box_0; + if (t1.listener.matchesErrorTest$1(asyncError)) { + t2 = t1.listener; + A.assertHelper((t2.state & 2) !== 0); + t2 = t2.errorCallback != null; + } else + t2 = false; + if (t2) { + t1.listenerValueOrError = t1.listener.handleError$1(asyncError); + t1.listenerHasError = false; + } + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = _this._box_1; + t2 = t1.source; + A.assertHelper((t2._state & 16) !== 0); + t3 = type$.AsyncError; + t4 = _this._box_0; + if (t3._as(t2._resultOrListeners).error === e) { + t1 = t1.source; + A.assertHelper((t1._state & 16) !== 0); + t4.listenerValueOrError = t3._as(t1._resultOrListeners); + } else + t4.listenerValueOrError = A.AsyncError$(e, s); + t4.listenerHasError = true; + } + }, + $signature: 0 + }; + A._AsyncCallbackEntry.prototype = {}; + A.Stream.prototype = { + pipe$1(streamConsumer) { + A._instanceType(this)._eval$1("StreamConsumer")._as(streamConsumer); + return streamConsumer.addStream$1(0, this).then$1$1(new A.Stream_pipe_closure(streamConsumer), type$.dynamic); + }, + get$length(_) { + var t1 = {}, + future = new A._Future($.Zone__current, type$._Future_int); + t1.count = 0; + this.listen$4$cancelOnError$onDone$onError(new A.Stream_length_closure(t1, this), true, new A.Stream_length_closure0(t1, future), future.get$_completeError()); + return future; + }, + get$first(_) { + var future = new A._Future($.Zone__current, A._instanceType(this)._eval$1("_Future")), + subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_first_closure(future), future.get$_completeError()); + subscription.onData$1(new A.Stream_first_closure0(this, subscription, future)); + return future; + }, + firstWhere$1(_, test) { + var future, subscription, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("bool(Stream.T)")._as(test); + future = new A._Future($.Zone__current, t1._eval$1("_Future")); + subscription = _this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_firstWhere_closure(_this, null, future), future.get$_completeError()); + subscription.onData$1(new A.Stream_firstWhere_closure0(_this, test, subscription, future)); + return future; + } + }; + A.Stream_pipe_closure.prototype = { + call$1(_) { + return this.streamConsumer.close$0(0); + }, + $signature: 54 + }; + A.Stream_length_closure.prototype = { + call$1(_) { + A._instanceType(this.$this)._eval$1("Stream.T")._as(_); + ++this._box_0.count; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_length_closure0.prototype = { + call$0() { + this.future._complete$1(this._box_0.count); + }, + $signature: 0 + }; + A.Stream_first_closure.prototype = { + call$0() { + var e, s, t1, exception; + try { + t1 = A.IterableElementError_noElement(); + throw A.wrapException(t1); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._completeWithErrorCallback(this.future, e, s); + } + }, + $signature: 0 + }; + A.Stream_first_closure0.prototype = { + call$1(value) { + A._cancelAndValue(this.subscription, this.future, A._instanceType(this.$this)._eval$1("Stream.T")._as(value)); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_firstWhere_closure.prototype = { + call$0() { + var e, s, t1, exception; + try { + t1 = A.IterableElementError_noElement(); + throw A.wrapException(t1); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._completeWithErrorCallback(this.future, e, s); + } + }, + $signature: 0 + }; + A.Stream_firstWhere_closure0.prototype = { + call$1(value) { + var t1, t2, _this = this; + A._instanceType(_this.$this)._eval$1("Stream.T")._as(value); + t1 = _this.subscription; + t2 = _this.future; + A._runUserCode(new A.Stream_firstWhere__closure(_this.test, value), new A.Stream_firstWhere__closure0(t1, t2, value), A._cancelAndErrorClosure(t1, t2), type$.bool); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_firstWhere__closure.prototype = { + call$0() { + return this.test.call$1(this.value); + }, + $signature: 23 + }; + A.Stream_firstWhere__closure0.prototype = { + call$1(isMatch) { + if (A._asBool(isMatch)) + A._cancelAndValue(this.subscription, this.future, this.value); + }, + $signature: 55 + }; + A._StreamController.prototype = { + get$_pendingEvents() { + var t1, _this = this; + A.assertHelper((_this._state & 3) === 0); + if ((_this._state & 8) === 0) + return A._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData); + t1 = A._instanceType(_this); + return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).varData); + }, + _ensurePendingEvents$0() { + var events, t1, state, _this = this; + A.assertHelper((_this._state & 3) === 0); + if ((_this._state & 8) === 0) { + events = _this._varData; + if (events == null) + events = _this._varData = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<1>")); + return A._instanceType(_this)._eval$1("_PendingEvents<1>")._as(events); + } + t1 = A._instanceType(_this); + state = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData); + events = state.varData; + if (events == null) + events = state.varData = new A._PendingEvents(t1._eval$1("_PendingEvents<1>")); + return t1._eval$1("_PendingEvents<1>")._as(events); + }, + get$_subscription() { + var varData, _this = this; + A.assertHelper((_this._state & 1) !== 0); + varData = _this._varData; + if ((_this._state & 8) !== 0) + varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).varData; + return A._instanceType(_this)._eval$1("_ControllerSubscription<1>")._as(varData); + }, + _badEventState$0() { + var t1 = this._state; + if ((t1 & 4) !== 0) + return new A.StateError("Cannot add event after closing"); + A.assertHelper((t1 & 8) !== 0); + return new A.StateError("Cannot add event while adding a stream"); + }, + _ensureDoneFuture$0() { + var t1 = this._doneFuture; + if (t1 == null) + t1 = this._doneFuture = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new A._Future($.Zone__current, type$._Future_void); + return t1; + }, + add$1(_, value) { + var _this = this; + A._instanceType(_this)._precomputed1._as(value); + if (_this._state >= 4) + throw A.wrapException(_this._badEventState$0()); + _this._add$1(0, value); + }, + addError$2(error, stackTrace) { + var replacement, + t1 = type$.Object; + t1._as(error); + type$.nullable_StackTrace._as(stackTrace); + A.checkNotNullable(error, "error", t1); + if (this._state >= 4) + throw A.wrapException(this._badEventState$0()); + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + this._addError$2(error, stackTrace); + }, + addError$1(error) { + return this.addError$2(error, null); + }, + close$0(_) { + var _this = this, + t1 = _this._state; + if ((t1 & 4) !== 0) + return _this._ensureDoneFuture$0(); + if (t1 >= 4) + throw A.wrapException(_this._badEventState$0()); + t1 = _this._state = t1 | 4; + if ((t1 & 1) !== 0) + _this._sendDone$0(); + else if ((t1 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, B.C__DelayedDone); + return _this._ensureDoneFuture$0(); + }, + _add$1(_, value) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(value); + t2 = _this._state; + if ((t2 & 1) !== 0) + _this._sendData$1(value); + else if ((t2 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, new A._DelayedData(value, t1._eval$1("_DelayedData<1>"))); + }, + _addError$2(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 A._DelayedError(error, stackTrace)); + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var subscription, pendingEvents, t2, addState, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._state & 3) !== 0) + throw A.wrapException(A.StateError$("Stream has already been listened to.")); + subscription = A._ControllerSubscription$(_this, onData, onError, onDone, cancelOnError, t1._precomputed1); + pendingEvents = _this.get$_pendingEvents(); + t2 = _this._state |= 1; + if ((t2 & 8) !== 0) { + addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData); + addState.varData = subscription; + addState.addSubscription.resume$0(0); + } else + _this._varData = subscription; + subscription._setPendingEvents$1(pendingEvents); + subscription._guardCallback$1(new A._StreamController__subscribe_closure(_this)); + return subscription; + }, + _recordCancel$1(subscription) { + var result, onCancel, cancelResult, e, s, exception, result0, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + result = null; + if ((_this._state & 8) !== 0) + result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0(0); + _this._varData = null; + _this._state = _this._state & 4294967286 | 2; + onCancel = _this.onCancel; + if (onCancel != null) + if (result == null) + try { + cancelResult = onCancel.call$0(); + if (type$.Future_void._is(cancelResult)) + result = cancelResult; + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + result0 = new A._Future($.Zone__current, type$._Future_void); + result0._asyncCompleteError$2(e, s); + result = result0; + } + else + result = result.whenComplete$1(onCancel); + t1 = new A._StreamController__recordCancel_complete(_this); + if (result != null) + result = result.whenComplete$1(t1); + else + t1.call$0(); + return result; + }, + _recordPause$1(subscription) { + var _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + if ((_this._state & 8) !== 0) + t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).addSubscription.pause$0(0); + A._runGuarded(_this.onPause); + }, + _recordResume$1(subscription) { + var _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + if ((_this._state & 8) !== 0) + t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).addSubscription.resume$0(0); + A._runGuarded(_this.onResume); + }, + $isStreamConsumer: 1, + $isStreamSink: 1, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._StreamController__subscribe_closure.prototype = { + call$0() { + A._runGuarded(this.$this.onListen); + }, + $signature: 0 + }; + A._StreamController__recordCancel_complete.prototype = { + call$0() { + var doneFuture = this.$this._doneFuture; + if (doneFuture != null && (doneFuture._state & 30) === 0) + doneFuture._asyncComplete$1(null); + }, + $signature: 0 + }; + A._SyncStreamControllerDispatch.prototype = { + _sendData$1(data) { + this.$ti._precomputed1._as(data); + this.get$_subscription()._add$1(0, data); + }, + _sendError$2(error, stackTrace) { + this.get$_subscription()._addError$2(error, stackTrace); + }, + _sendDone$0() { + this.get$_subscription()._close$0(); + } + }; + A._AsyncStreamControllerDispatch.prototype = { + _sendData$1(data) { + var t1 = this.$ti; + t1._precomputed1._as(data); + this.get$_subscription()._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<1>"))); + }, + _sendError$2(error, stackTrace) { + this.get$_subscription()._addPending$1(new A._DelayedError(error, stackTrace)); + }, + _sendDone$0() { + this.get$_subscription()._addPending$1(B.C__DelayedDone); + } + }; + A._AsyncStreamController.prototype = {}; + A._SyncStreamController.prototype = {}; + A._ControllerStream.prototype = { + get$hashCode(_) { + return (A.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return other instanceof A._ControllerStream && other._controller === this._controller; + } + }; + A._ControllerSubscription.prototype = { + _onCancel$0() { + return this._controller._recordCancel$1(this); + }, + _onPause$0() { + this._controller._recordPause$1(this); + }, + _onResume$0() { + this._controller._recordResume$1(this); + } + }; + A._StreamSinkWrapper.prototype = { + add$1(_, data) { + this._async$_target.add$1(0, this.$ti._precomputed1._as(data)); + }, + $isStreamConsumer: 1, + $isStreamSink: 1 + }; + A._AddStreamState_cancel_closure.prototype = { + call$0() { + this.$this.addStreamFuture._asyncComplete$1(null); + }, + $signature: 4 + }; + A._BufferingStreamSubscription.prototype = { + _setPendingEvents$1(pendingEvents) { + var _this = this; + A._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(pendingEvents); + A.assertHelper(_this._pending == null); + if (pendingEvents == null) + return; + _this.set$_pending(pendingEvents); + if (pendingEvents.lastPendingEvent != null) { + _this._state = (_this._state | 64) >>> 0; + pendingEvents.schedule$1(_this); + } + }, + onData$1(handleData) { + var t1 = A._instanceType(this); + this.set$_onData(A._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(_BufferingStreamSubscription.T)?")._as(handleData), t1._eval$1("_BufferingStreamSubscription.T"))); + }, + onError$1(_, handleError) { + this._onError = A._BufferingStreamSubscription__registerErrorHandler(this._zone, handleError); + }, + onDone$1(handleDone) { + this.set$_onDone(A._BufferingStreamSubscription__registerDoneHandler(this._zone, type$.nullable_void_Function._as(handleDone))); + }, + pause$1(_, resumeSignal) { + var t2, t3, _this = this, + t1 = _this._state; + if ((t1 & 8) !== 0) + return; + t2 = (t1 + 128 | 4) >>> 0; + _this._state = t2; + if (t1 < 128) { + t3 = _this._pending; + if (t3 != null) + if (t3._state === 1) + t3._state = 3; + } + if ((t1 & 4) === 0 && (t2 & 32) === 0) + _this._guardCallback$1(_this.get$_onPause()); + }, + pause$0($receiver) { + return this.pause$1($receiver, null); + }, + resume$0(_) { + var _this = this, + t1 = _this._state; + if ((t1 & 8) !== 0) + return; + if (t1 >= 128) { + t1 = _this._state -= 128; + if (t1 < 128) + if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null) + _this._pending.schedule$1(_this); + else { + A.assertHelper(_this.get$_mayResumeInput()); + t1 = (_this._state & 4294967291) >>> 0; + _this._state = t1; + if ((t1 & 32) === 0) + _this._guardCallback$1(_this.get$_onResume()); + } + } + }, + cancel$0(_) { + var _this = this, + t1 = (_this._state & 4294967279) >>> 0; + _this._state = t1; + if ((t1 & 8) === 0) + _this._cancel$0(); + t1 = _this._cancelFuture; + return t1 == null ? $.$get$Future__nullFuture() : t1; + }, + get$_mayResumeInput() { + if (this._state < 128) { + var t1 = this._pending; + t1 = t1 == null ? null : t1.lastPendingEvent == null; + t1 = t1 !== false; + } else + t1 = false; + return t1; + }, + _cancel$0() { + var t2, _this = this, + t1 = _this._state = (_this._state | 8) >>> 0; + if ((t1 & 64) !== 0) { + t2 = _this._pending; + if (t2._state === 1) + t2._state = 3; + } + if ((t1 & 32) === 0) + _this.set$_pending(null); + _this._cancelFuture = _this._onCancel$0(); + }, + _add$1(_, data) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("_BufferingStreamSubscription.T")._as(data); + A.assertHelper((_this._state & 2) === 0); + t2 = _this._state; + if ((t2 & 8) !== 0) + return; + if (t2 < 32) + _this._sendData$1(data); + else + _this._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<_BufferingStreamSubscription.T>"))); + }, + _addError$2(error, stackTrace) { + var t1 = this._state; + if ((t1 & 8) !== 0) + return; + if (t1 < 32) + this._sendError$2(error, stackTrace); + else + this._addPending$1(new A._DelayedError(error, stackTrace)); + }, + _close$0() { + var t1, _this = this; + A.assertHelper((_this._state & 2) === 0); + 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(B.C__DelayedDone); + }, + _onPause$0() { + A.assertHelper((this._state & 4) !== 0); + }, + _onResume$0() { + A.assertHelper((this._state & 4) === 0); + }, + _onCancel$0() { + A.assertHelper((this._state & 8) !== 0); + return null; + }, + _addPending$1($event) { + var t1, _this = this, + pending = _this._pending; + if (pending == null) { + pending = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>")); + _this.set$_pending(pending); + } + pending.add$1(0, $event); + t1 = _this._state; + if ((t1 & 64) === 0) { + t1 = (t1 | 64) >>> 0; + _this._state = t1; + if (t1 < 128) + pending.schedule$1(_this); + } + }, + _sendData$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this)._eval$1("_BufferingStreamSubscription.T"); + t1._as(data); + A.assertHelper((_this._state & 8) === 0); + A.assertHelper(_this._state < 128); + A.assertHelper((_this._state & 32) === 0); + t2 = _this._state; + _this._state = (t2 | 32) >>> 0; + _this._zone.runUnaryGuarded$1$2(_this._onData, data, t1); + _this._state = (_this._state & 4294967263) >>> 0; + _this._checkState$1((t2 & 4) !== 0); + }, + _sendError$2(error, stackTrace) { + var t1, t2, cancelFuture, _this = this; + A.assertHelper((_this._state & 8) === 0); + A.assertHelper(_this._state < 128); + A.assertHelper((_this._state & 32) === 0); + t1 = _this._state; + t2 = new A._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace); + if ((t1 & 1) !== 0) { + _this._state = (t1 | 16) >>> 0; + _this._cancel$0(); + cancelFuture = _this._cancelFuture; + if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(t2); + else + t2.call$0(); + } else { + t2.call$0(); + _this._checkState$1((t1 & 4) !== 0); + } + }, + _sendDone$0() { + var t1, cancelFuture, _this = this; + A.assertHelper((_this._state & 8) === 0); + A.assertHelper(_this._state < 128); + A.assertHelper((_this._state & 32) === 0); + t1 = new A._BufferingStreamSubscription__sendDone_sendDone(_this); + _this._cancel$0(); + _this._state = (_this._state | 16) >>> 0; + cancelFuture = _this._cancelFuture; + if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(t1); + else + t1.call$0(); + }, + _guardCallback$1(callback) { + var t1, _this = this; + type$.void_Function._as(callback); + A.assertHelper((_this._state & 32) === 0); + 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(wasInputPaused) { + var t1, isInputPaused, _this = this; + A.assertHelper((_this._state & 32) === 0); + t1 = _this._state; + if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) { + t1 = (t1 & 4294967231) >>> 0; + _this._state = t1; + if ((t1 & 4) !== 0 && _this.get$_mayResumeInput()) + _this._state = (_this._state & 4294967291) >>> 0; + } + for (; true; wasInputPaused = isInputPaused) { + t1 = _this._state; + if ((t1 & 8) !== 0) { + _this.set$_pending(null); + return; + } + isInputPaused = (t1 & 4) !== 0; + if (wasInputPaused === isInputPaused) + break; + _this._state = (t1 ^ 32) >>> 0; + if (isInputPaused) + _this._onPause$0(); + else + _this._onResume$0(); + _this._state = (_this._state & 4294967263) >>> 0; + } + t1 = _this._state; + if ((t1 & 64) !== 0 && t1 < 128) + _this._pending.schedule$1(_this); + }, + set$_onData(_onData) { + this._onData = A._instanceType(this)._eval$1("~(_BufferingStreamSubscription.T)")._as(_onData); + }, + set$_onDone(_onDone) { + this._onDone = type$.void_Function._as(_onDone); + }, + set$_pending(_pending) { + this._pending = A._instanceType(this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(_pending); + }, + $isStreamSubscription: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._BufferingStreamSubscription__sendError_sendError.prototype = { + call$0() { + var onError, t3, t4, + t1 = this.$this, + t2 = t1._state; + if ((t2 & 8) !== 0 && (t2 & 16) === 0) + return; + t1._state = (t2 | 32) >>> 0; + onError = t1._onError; + t2 = this.error; + t3 = type$.Object; + t4 = t1._zone; + if (type$.void_Function_Object_StackTrace._is(onError)) + t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, type$.StackTrace); + else + t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3); + t1._state = (t1._state & 4294967263) >>> 0; + }, + $signature: 0 + }; + A._BufferingStreamSubscription__sendDone_sendDone.prototype = { + call$0() { + var t1 = this.$this, + t2 = t1._state; + if ((t2 & 16) === 0) + return; + t1._state = (t2 | 42) >>> 0; + t1._zone.runGuarded$1(t1._onDone); + t1._state = (t1._state & 4294967263) >>> 0; + }, + $signature: 0 + }; + A._StreamImpl.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = A._instanceType(this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); + }, + listen$1(onData) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + listen$2$onDone(onData, onDone) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null); + } + }; + A._DelayedEvent.prototype = { + set$next(_, next) { + this.next = type$.nullable__DelayedEvent_dynamic._as(next); + }, + get$next(receiver) { + return this.next; + } + }; + A._DelayedData.prototype = { + perform$1(dispatch) { + this.$ti._eval$1("_EventDispatch<1>")._as(dispatch)._sendData$1(this.value); + } + }; + A._DelayedError.prototype = { + perform$1(dispatch) { + dispatch._sendError$2(this.error, this.stackTrace); + } + }; + A._DelayedDone.prototype = { + perform$1(dispatch) { + dispatch._sendDone$0(); + }, + get$next(_) { + return null; + }, + set$next(_, _0) { + throw A.wrapException(A.StateError$("No events after a done.")); + }, + $is_DelayedEvent: 1 + }; + A._PendingEvents.prototype = { + schedule$1(dispatch) { + var t1, _this = this; + _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch); + if (_this._state === 1) + return; + A.assertHelper(_this.lastPendingEvent != null); + t1 = _this._state; + if (t1 >= 1) { + A.assertHelper(t1 === 3); + _this._state = 1; + return; + } + A.scheduleMicrotask(new A._PendingEvents_schedule_closure(_this, dispatch)); + _this._state = 1; + }, + add$1(_, $event) { + var _this = this, + lastEvent = _this.lastPendingEvent; + if (lastEvent == null) + _this.firstPendingEvent = _this.lastPendingEvent = $event; + else { + lastEvent.set$next(0, $event); + _this.lastPendingEvent = $event; + } + } + }; + A._PendingEvents_schedule_closure.prototype = { + call$0() { + var t2, $event, nextEvent, + t1 = this.$this, + oldState = t1._state; + t1._state = 0; + if (oldState === 3) + return; + t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch); + A.assertHelper(t1.lastPendingEvent != null); + $event = t1.firstPendingEvent; + nextEvent = $event.get$next($event); + t1.firstPendingEvent = nextEvent; + if (nextEvent == null) + t1.lastPendingEvent = null; + $event.perform$1(t2); + }, + $signature: 0 + }; + A._DoneStreamSubscription.prototype = { + _schedule$0() { + var _this = this; + if ((_this._state & 2) !== 0) + return; + _this._zone.scheduleMicrotask$1(_this.get$_sendDone()); + _this._state = (_this._state | 2) >>> 0; + }, + onData$1(handleData) { + this.$ti._eval$1("~(1)?")._as(handleData); + }, + onError$1(_, handleError) { + }, + onDone$1(handleDone) { + this.set$_onDone(type$.nullable_void_Function._as(handleDone)); + }, + pause$1(_, resumeSignal) { + this._state += 4; + }, + pause$0($receiver) { + return this.pause$1($receiver, null); + }, + resume$0(_) { + var t1 = this._state; + if (t1 >= 4) { + t1 = this._state = t1 - 4; + if (t1 < 4 && (t1 & 1) === 0) + this._schedule$0(); + } + }, + cancel$0(_) { + return $.$get$Future__nullFuture(); + }, + _sendDone$0() { + var doneHandler, _this = this, + t1 = _this._state = (_this._state & 4294967293) >>> 0; + if (t1 >= 4) + return; + _this._state = (t1 | 1) >>> 0; + doneHandler = _this._onDone; + if (doneHandler != null) + _this._zone.runGuarded$1(doneHandler); + }, + set$_onDone(_onDone) { + this._onDone = type$.nullable_void_Function._as(_onDone); + }, + $isStreamSubscription: 1 + }; + A._StreamIterator.prototype = {}; + A._cancelAndError_closure.prototype = { + call$0() { + return this.future._completeError$2(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._cancelAndErrorClosure_closure.prototype = { + call$2(error, stackTrace) { + A._cancelAndError(this.subscription, this.future, error, type$.StackTrace._as(stackTrace)); + }, + $signature: 9 + }; + A._cancelAndValue_closure.prototype = { + call$0() { + return this.future._complete$1(this.value); + }, + $signature: 0 + }; + A._ForwardingStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t2, t3, t4, + t1 = this.$ti; + t1._eval$1("~(2)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t2 = t1._rest[1]; + t3 = $.Zone__current; + t4 = cancelOnError === true ? 1 : 0; + t2 = new A._ForwardingStreamSubscription(this, A._BufferingStreamSubscription__registerDataHandler(t3, onData, t2), A._BufferingStreamSubscription__registerErrorHandler(t3, onError), A._BufferingStreamSubscription__registerDoneHandler(t3, onDone), t3, t4, t1._eval$1("@<1>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>")); + t2.set$_subscription(this._source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError())); + return t2; + }, + listen$1(onData) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._ForwardingStreamSubscription.prototype = { + _add$1(_, data) { + this.$ti._rest[1]._as(data); + if ((this._state & 2) !== 0) + return; + this.super$_BufferingStreamSubscription$_add(0, data); + }, + _addError$2(error, stackTrace) { + if ((this._state & 2) !== 0) + return; + this.super$_BufferingStreamSubscription$_addError(error, stackTrace); + }, + _onPause$0() { + var t1 = this._subscription; + if (t1 != null) + t1.pause$0(0); + }, + _onResume$0() { + var t1 = this._subscription; + if (t1 != null) + t1.resume$0(0); + }, + _onCancel$0() { + var subscription = this._subscription; + if (subscription != null) { + this.set$_subscription(null); + return subscription.cancel$0(0); + } + return null; + }, + _handleData$1(data) { + this._stream._handleData$2(this.$ti._precomputed1._as(data), this); + }, + _handleError$2(error, stackTrace) { + var t1; + type$.StackTrace._as(stackTrace); + t1 = error == null ? type$.Object._as(error) : error; + this._stream.$ti._eval$1("_EventSink<2>")._as(this)._addError$2(t1, stackTrace); + }, + _handleDone$0() { + this._stream.$ti._eval$1("_EventSink<2>")._as(this)._close$0(); + }, + set$_subscription(_subscription) { + this._subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._MapStream.prototype = { + _handleData$2(inputEvent, sink) { + var outputEvent, e, s, exception, error, stackTrace, replacement, + t1 = this.$ti; + t1._precomputed1._as(inputEvent); + t1._eval$1("_EventSink<2>")._as(sink); + outputEvent = null; + try { + outputEvent = this._transform.call$1(inputEvent); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + error = e; + stackTrace = s; + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } + sink._addError$2(error, stackTrace); + return; + } + sink._add$1(0, outputEvent); + } + }; + A._ZoneFunction.prototype = {}; + A._ZoneSpecification.prototype = {$isZoneSpecification: 1}; + A._ZoneDelegate.prototype = {$isZoneDelegate: 1}; + A._Zone.prototype = { + _processUncaughtError$3(zone, error, stackTrace) { + var implZone, handler, parentDelegate, parentZone, currentZone, e, s, implementation, t1, exception; + type$.StackTrace._as(stackTrace); + implementation = this.get$_handleUncaughtError(); + implZone = implementation.zone; + if (implZone === B.C__RootZone) { + A._rootHandleError(error, stackTrace); + return; + } + handler = implementation.$function; + parentDelegate = implZone.get$_parentDelegate(); + t1 = J.get$parent$z(implZone); + t1.toString; + parentZone = t1; + currentZone = $.Zone__current; + try { + $.Zone__current = parentZone; + handler.call$5(implZone, parentDelegate, zone, error, stackTrace); + $.Zone__current = currentZone; + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + $.Zone__current = currentZone; + t1 = error === e ? stackTrace : s; + parentZone._processUncaughtError$3(implZone, e, t1); + } + }, + $isZone: 1 + }; + A._CustomZone.prototype = { + get$_delegate() { + var t1 = this._delegateCache; + return t1 == null ? this._delegateCache = new A._ZoneDelegate(this) : t1; + }, + get$_parentDelegate() { + return this.parent.get$_delegate(); + }, + get$errorZone() { + return this._handleUncaughtError.zone; + }, + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + this.run$1$1(f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + this.runUnary$2$2(f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) { + var e, s, exception; + T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f); + T1._as(arg1); + T2._as(arg2); + try { + this.runBinary$3$3(f, arg1, arg2, type$.void, T1, T2); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1(f, $R) { + return new A._CustomZone_bindCallback_closure(this, this.registerCallback$1$1($R._eval$1("0()")._as(f), $R), $R); + }, + bindUnaryCallback$2$1(f, $R, $T) { + return new A._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1($R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $R, $T), $T, $R); + }, + bindCallbackGuarded$1(f) { + return new A._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(type$.void_Function._as(f), type$.void)); + }, + bindUnaryCallbackGuarded$1$1(f, $T) { + return new A._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1($T._eval$1("~(0)")._as(f), type$.void, $T), $T); + }, + $index(_, key) { + var value, + t1 = this._async$_map, + result = t1.$index(0, key); + if (result != null || t1.containsKey$1(0, key)) + return result; + value = this.parent.$index(0, key); + if (value != null) + t1.$indexSet(0, key, value); + return value; + }, + handleUncaughtError$2(error, stackTrace) { + this._processUncaughtError$3(this, error, type$.StackTrace._as(stackTrace)); + }, + fork$2$specification$zoneValues(specification, zoneValues) { + var implementation = this._fork, + t1 = implementation.zone; + return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, specification, zoneValues); + }, + run$1$1(f, $R) { + var implementation, t1; + $R._eval$1("0()")._as(f); + implementation = this._run; + t1 = implementation.zone; + return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + implementation = this._runUnary; + t1 = implementation.zone; + return implementation.$function.call$2$5(t1, t1.get$_parentDelegate(), this, f, arg, $R, $T); + }, + runBinary$3$3(f, arg1, arg2, $R, T1, T2) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + implementation = this._runBinary; + t1 = implementation.zone; + return implementation.$function.call$3$6(t1, t1.get$_parentDelegate(), this, f, arg1, arg2, $R, T1, T2); + }, + registerCallback$1$1(callback, $R) { + var implementation, t1; + $R._eval$1("0()")._as(callback); + implementation = this._registerCallback; + t1 = implementation.zone; + return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, callback, $R); + }, + registerUnaryCallback$2$1(callback, $R, $T) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(callback); + implementation = this._registerUnaryCallback; + t1 = implementation.zone; + return implementation.$function.call$2$4(t1, t1.get$_parentDelegate(), this, callback, $R, $T); + }, + registerBinaryCallback$3$1(callback, $R, T1, T2) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(callback); + implementation = this._registerBinaryCallback; + t1 = implementation.zone; + return implementation.$function.call$3$4(t1, t1.get$_parentDelegate(), this, callback, $R, T1, T2); + }, + errorCallback$2(error, stackTrace) { + var implementation, implementationZone; + type$.nullable_StackTrace._as(stackTrace); + A.checkNotNullable(error, "error", type$.Object); + implementation = this._errorCallback; + implementationZone = implementation.zone; + if (implementationZone === B.C__RootZone) + return null; + return implementation.$function.call$5(implementationZone, implementationZone.get$_parentDelegate(), this, error, stackTrace); + }, + scheduleMicrotask$1(f) { + var implementation, t1; + type$.void_Function._as(f); + implementation = this._scheduleMicrotask; + t1 = implementation.zone; + return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f); + }, + createTimer$2(duration, f) { + var implementation, t1; + type$.void_Function._as(f); + implementation = this._createTimer; + t1 = implementation.zone; + return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f); + }, + print$1(_, line) { + var implementation = this._print, + t1 = implementation.zone; + return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, line); + }, + set$_handleUncaughtError(_handleUncaughtError) { + this._handleUncaughtError = type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace._as(_handleUncaughtError); + }, + get$_run() { + return this._run; + }, + get$_runUnary() { + return this._runUnary; + }, + get$_runBinary() { + return this._runBinary; + }, + get$_registerCallback() { + return this._registerCallback; + }, + get$_registerUnaryCallback() { + return this._registerUnaryCallback; + }, + get$_registerBinaryCallback() { + return this._registerBinaryCallback; + }, + get$_errorCallback() { + return this._errorCallback; + }, + get$_scheduleMicrotask() { + return this._scheduleMicrotask; + }, + get$_createTimer() { + return this._createTimer; + }, + get$_createPeriodicTimer() { + return this._createPeriodicTimer; + }, + get$_print() { + return this._print; + }, + get$_fork() { + return this._fork; + }, + get$_handleUncaughtError() { + return this._handleUncaughtError; + }, + get$parent(receiver) { + return this.parent; + }, + get$_async$_map() { + return this._async$_map; + } + }; + A._CustomZone_bindCallback_closure.prototype = { + call$0() { + return this.$this.run$1$1(this.registered, this.R); + }, + $signature() { + return this.R._eval$1("0()"); + } + }; + A._CustomZone_bindUnaryCallback_closure.prototype = { + call$1(arg) { + var _this = this, + t1 = _this.T; + return _this.$this.runUnary$2$2(_this.registered, t1._as(arg), _this.R, t1); + }, + $signature() { + return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)"); + } + }; + A._CustomZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.registered); + }, + $signature: 0 + }; + A._CustomZone_bindUnaryCallbackGuarded_closure.prototype = { + call$1(arg) { + var t1 = this.T; + return this.$this.runUnaryGuarded$1$2(this.registered, t1._as(arg), t1); + }, + $signature() { + return this.T._eval$1("~(0)"); + } + }; + A._rootHandleError_closure.prototype = { + call$0() { + var t1 = this.error, + t2 = this.stackTrace; + A.checkNotNullable(t1, "error", type$.Object); + A.checkNotNullable(t2, "stackTrace", type$.StackTrace); + A.Error__throw(t1, t2); + }, + $signature: 0 + }; + A._RootZone.prototype = { + get$_run() { + return B._ZoneFunction__RootZone__rootRun; + }, + get$_runUnary() { + return B._ZoneFunction__RootZone__rootRunUnary; + }, + get$_runBinary() { + return B._ZoneFunction__RootZone__rootRunBinary; + }, + get$_registerCallback() { + return B._ZoneFunction__RootZone__rootRegisterCallback; + }, + get$_registerUnaryCallback() { + return B._ZoneFunction_Eeh; + }, + get$_registerBinaryCallback() { + return B._ZoneFunction_7G2; + }, + get$_errorCallback() { + return B._ZoneFunction__RootZone__rootErrorCallback; + }, + get$_scheduleMicrotask() { + return B._ZoneFunction__RootZone__rootScheduleMicrotask; + }, + get$_createTimer() { + return B._ZoneFunction__RootZone__rootCreateTimer; + }, + get$_createPeriodicTimer() { + return B._ZoneFunction_3bB; + }, + get$_print() { + return B._ZoneFunction__RootZone__rootPrint; + }, + get$_fork() { + return B._ZoneFunction__RootZone__rootFork; + }, + get$_handleUncaughtError() { + return B._ZoneFunction_NMc; + }, + get$parent(_) { + return null; + }, + get$_async$_map() { + return $.$get$_RootZone__rootMap(); + }, + get$_delegate() { + var t1 = $._RootZone__rootDelegate; + return t1 == null ? $._RootZone__rootDelegate = new A._ZoneDelegate(this) : t1; + }, + get$_parentDelegate() { + var t1 = $._RootZone__rootDelegate; + return t1 == null ? $._RootZone__rootDelegate = new A._ZoneDelegate(this) : t1; + }, + get$errorZone() { + return this; + }, + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$0(); + return; + } + A._rootRun(null, null, this, f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$1(arg); + return; + } + A._rootRunUnary(null, null, this, f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) { + var e, s, exception; + T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f); + T1._as(arg1); + T2._as(arg2); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$2(arg1, arg2); + return; + } + A._rootRunBinary(null, null, this, f, arg1, arg2, type$.void, T1, T2); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1(f, $R) { + return new A._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R); + }, + bindUnaryCallback$2$1(f, $R, $T) { + return new A._RootZone_bindUnaryCallback_closure(this, $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $T, $R); + }, + bindCallbackGuarded$1(f) { + return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + }, + bindUnaryCallbackGuarded$1$1(f, $T) { + return new A._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T); + }, + $index(_, key) { + return null; + }, + handleUncaughtError$2(error, stackTrace) { + A._rootHandleError(error, type$.StackTrace._as(stackTrace)); + }, + fork$2$specification$zoneValues(specification, zoneValues) { + return A._rootFork(null, null, this, specification, zoneValues); + }, + run$1$1(f, $R) { + $R._eval$1("0()")._as(f); + if ($.Zone__current === B.C__RootZone) + return f.call$0(); + return A._rootRun(null, null, this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + if ($.Zone__current === B.C__RootZone) + return f.call$1(arg); + return A._rootRunUnary(null, null, this, f, arg, $R, $T); + }, + runBinary$3$3(f, arg1, arg2, $R, T1, T2) { + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + if ($.Zone__current === B.C__RootZone) + return f.call$2(arg1, arg2); + return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); + }, + registerCallback$1$1(f, $R) { + return $R._eval$1("0()")._as(f); + }, + registerUnaryCallback$2$1(f, $R, $T) { + return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + }, + registerBinaryCallback$3$1(f, $R, T1, T2) { + return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + }, + errorCallback$2(error, stackTrace) { + type$.nullable_StackTrace._as(stackTrace); + return null; + }, + scheduleMicrotask$1(f) { + A._rootScheduleMicrotask(null, null, this, type$.void_Function._as(f)); + }, + createTimer$2(duration, f) { + return A.Timer__createTimer(duration, type$.void_Function._as(f)); + }, + print$1(_, line) { + A.printString(line); + } + }; + A._RootZone_bindCallback_closure.prototype = { + call$0() { + return this.$this.run$1$1(this.f, this.R); + }, + $signature() { + return this.R._eval$1("0()"); + } + }; + A._RootZone_bindUnaryCallback_closure.prototype = { + call$1(arg) { + var _this = this, + t1 = _this.T; + return _this.$this.runUnary$2$2(_this.f, t1._as(arg), _this.R, t1); + }, + $signature() { + return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)"); + } + }; + A._RootZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.f); + }, + $signature: 0 + }; + A._RootZone_bindUnaryCallbackGuarded_closure.prototype = { + call$1(arg) { + var t1 = this.T; + return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1); + }, + $signature() { + return this.T._eval$1("~(0)"); + } + }; + A._HashMap.prototype = { + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + get$keys(_) { + return new A._HashMapKeyIterable(this, A._instanceType(this)._eval$1("_HashMapKeyIterable<1>")); + }, + get$values(_) { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(new A._HashMapKeyIterable(this, t1._eval$1("_HashMapKeyIterable<1>")), new A._HashMap_values_closure(this), t1._precomputed1, t1._rest[1]); + }, + containsKey$1(_, key) { + var nums; + if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._collection$_nums; + return nums == null ? false : nums[key] != null; + } else + return this._containsKey$1(key); + }, + _containsKey$1(key) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0; + }, + $index(_, key) { + var strings, t1, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._collection$_strings; + t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key); + return t1; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._collection$_nums; + t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key); + return t1; + } else + return this._get$1(0, key); + }, + _get$1(_, key) { + var bucket, index, + rest = this._collection$_rest; + if (rest == null) + return null; + bucket = this._getBucket$2(rest, key); + index = this._findBucketIndex$2(bucket, key); + return index < 0 ? null : bucket[index + 1]; + }, + $indexSet(_, key, value) { + var strings, nums, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string" && key !== "__proto__") { + strings = _this._collection$_strings; + _this._collection$_addHashTableEntry$3(strings == null ? _this._collection$_strings = A._HashMap__newHashTable() : strings, key, value); + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = _this._collection$_nums; + _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); + } else + _this._set$2(key, value); + }, + _set$2(key, value) { + var rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._HashMap__newHashTable(); + hash = _this._computeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) { + A._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(_, action) { + var keys, $length, t2, i, key, t3, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1,2)")._as(action); + keys = _this._computeKeys$0(); + for ($length = keys.length, t2 = t1._precomputed1, t1 = t1._rest[1], i = 0; i < $length; ++i) { + key = keys[i]; + t2._as(key); + t3 = _this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + if (keys !== _this._keys) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + }, + _computeKeys$0() { + var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this, + result = _this._keys; + if (result != null) + return result; + result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); + 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; + } + } + } + A.assertHelper(index === _this._collection$_length); + return _this._keys = result; + }, + _collection$_addHashTableEntry$3(table, key, value) { + var t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (table[key] == null) { + ++this._collection$_length; + this._keys = null; + } + A._HashMap__setTableEntry(table, key, value); + }, + _computeHashCode$1(key) { + return J.get$hashCode$(key) & 1073741823; + }, + _getBucket$2(table, key) { + return table[this._computeHashCode$1(key)]; + }, + _findBucketIndex$2(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; + } + }; + A._HashMap_values_closure.prototype = { + call$1(each) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1 = t1.$index(0, t2._precomputed1._as(each)); + return t1 == null ? t2._rest[1]._as(t1) : t1; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("2(1)"); + } + }; + A._HashMapKeyIterable.prototype = { + get$length(_) { + return this._collection$_map._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_map._collection$_length === 0; + }, + get$iterator(_) { + var t1 = this._collection$_map; + return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>")); + } + }; + A._HashMapKeyIterator.prototype = { + get$current(_) { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + keys = _this._keys, + offset = _this._offset, + t1 = _this._collection$_map; + if (keys !== t1._keys) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (offset >= keys.length) { + _this.set$_collection$_current(null); + return false; + } else { + _this.set$_collection$_current(keys[offset]); + _this._offset = offset + 1; + return true; + } + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A._LinkedCustomHashMap.prototype = { + $index(_, key) { + if (!A.boolConversionCheck(this._validKey.call$1(key))) + return null; + return this.super$JsLinkedHashMap$internalGet(key); + }, + $indexSet(_, key, value) { + var t1 = this.$ti; + this.super$JsLinkedHashMap$internalSet(t1._precomputed1._as(key), t1._rest[1]._as(value)); + }, + containsKey$1(_, key) { + if (!A.boolConversionCheck(this._validKey.call$1(key))) + return false; + return this.super$JsLinkedHashMap$internalContainsKey(key); + }, + remove$1(_, key) { + if (!A.boolConversionCheck(this._validKey.call$1(key))) + return null; + return this.super$JsLinkedHashMap$internalRemove(key); + }, + internalComputeHashCode$1(key) { + return this._hashCode.call$1(this.$ti._precomputed1._as(key)) & 1073741823; + }, + internalFindBucketIndex$2(bucket, key) { + var $length, t1, t2, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (t1 = this.$ti._precomputed1, t2 = this._equals, i = 0; i < $length; ++i) + if (A.boolConversionCheck(t2.call$2(t1._as(bucket[i].hashMapCellKey), t1._as(key)))) + return i; + return -1; + } + }; + A._LinkedCustomHashMap_closure.prototype = { + call$1(v) { + return this.K._is(v); + }, + $signature: 45 + }; + A._HashSet.prototype = { + get$iterator(_) { + return new A._HashSetIterator(this, this._computeElements$0(), A._instanceType(this)._eval$1("_HashSetIterator<1>")); + }, + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + _computeElements$0() { + var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this, + result = _this._elements; + if (result != null) + return result; + result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); + 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) { + result[index] = bucket[i0]; + ++index; + } + } + } + A.assertHelper(index === _this._collection$_length); + return _this._elements = result; + }, + $isHashSet: 1 + }; + A._HashSetIterator.prototype = { + get$current(_) { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + elements = _this._elements, + offset = _this._offset, + t1 = _this._set; + if (elements !== t1._elements) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (offset >= elements.length) { + _this.set$_collection$_current(null); + return false; + } else { + _this.set$_collection$_current(elements[offset]); + _this._offset = offset + 1; + return true; + } + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A._LinkedHashSet.prototype = { + get$iterator(_) { + var _this = this, + t1 = new A._LinkedHashSetIterator(_this, _this._collection$_modifications, A._instanceType(_this)._eval$1("_LinkedHashSetIterator<1>")); + t1._collection$_cell = _this._collection$_first; + return t1; + }, + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + contains$1(_, object) { + var strings, t1; + if (object !== "__proto__") { + strings = this._collection$_strings; + if (strings == null) + return false; + return type$.nullable__LinkedHashSetCell._as(strings[object]) != null; + } else { + t1 = this._contains$1(object); + return t1; + } + }, + _contains$1(object) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0; + }, + get$first(_) { + var first = this._collection$_first; + if (first == null) + throw A.wrapException(A.StateError$("No elements")); + return A._instanceType(this)._precomputed1._as(first._element); + }, + get$last(_) { + var last = this._collection$_last; + if (last == null) + throw A.wrapException(A.StateError$("No elements")); + return A._instanceType(this)._precomputed1._as(last._element); + }, + add$1(_, element) { + var strings, nums, _this = this; + A._instanceType(_this)._precomputed1._as(element); + if (typeof element == "string" && element !== "__proto__") { + strings = _this._collection$_strings; + return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = A._LinkedHashSet__newHashTable() : strings, element); + } else if (typeof element == "number" && (element & 1073741823) === element) { + nums = _this._collection$_nums; + return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = A._LinkedHashSet__newHashTable() : nums, element); + } else + return _this._collection$_add$1(0, element); + }, + _collection$_add$1(_, element) { + var rest, hash, bucket, t1, _this = this; + A._instanceType(_this)._precomputed1._as(element); + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._LinkedHashSet__newHashTable(); + hash = _this._computeHashCode$1(element); + bucket = rest[hash]; + if (bucket == null) { + t1 = [_this._collection$_newLinkedCell$1(element)]; + A.assertHelper(t1 != null); + rest[hash] = t1; + } else { + if (_this._findBucketIndex$2(bucket, element) >= 0) + return false; + bucket.push(_this._collection$_newLinkedCell$1(element)); + } + return true; + }, + remove$1(_, object) { + var t1; + if (typeof object == "string" && object !== "__proto__") + return this._collection$_removeHashTableEntry$2(this._collection$_strings, object); + else { + t1 = this._remove$1(0, object); + return t1; + } + }, + _remove$1(_, object) { + var hash, bucket, index, cell, _this = this, + rest = _this._collection$_rest; + if (rest == null) + return false; + hash = _this._computeHashCode$1(object); + bucket = rest[hash]; + index = _this._findBucketIndex$2(bucket, object); + if (index < 0) + return false; + cell = bucket.splice(index, 1)[0]; + if (0 === bucket.length) + delete rest[hash]; + _this._collection$_unlinkCell$1(cell); + return true; + }, + _collection$_addHashTableEntry$2(table, element) { + A._instanceType(this)._precomputed1._as(element); + if (type$.nullable__LinkedHashSetCell._as(table[element]) != null) + return false; + table[element] = this._collection$_newLinkedCell$1(element); + return true; + }, + _collection$_removeHashTableEntry$2(table, element) { + var cell; + if (table == null) + return false; + cell = type$.nullable__LinkedHashSetCell._as(table[element]); + if (cell == null) + return false; + this._collection$_unlinkCell$1(cell); + delete table[element]; + return true; + }, + _collection$_modified$0() { + this._collection$_modifications = this._collection$_modifications + 1 & 1073741823; + }, + _collection$_newLinkedCell$1(element) { + var t1, _this = this, + cell = new A._LinkedHashSetCell(A._instanceType(_this)._precomputed1._as(element)); + if (_this._collection$_first == null) + _this._collection$_first = _this._collection$_last = cell; + else { + t1 = _this._collection$_last; + t1.toString; + cell._collection$_previous = t1; + _this._collection$_last = t1._collection$_next = cell; + } + ++_this._collection$_length; + _this._collection$_modified$0(); + return cell; + }, + _collection$_unlinkCell$1(cell) { + var _this = this, + previous = cell._collection$_previous, + next = cell._collection$_next; + if (previous == null) { + A.assertHelper(cell === _this._collection$_first); + _this._collection$_first = next; + } else + previous._collection$_next = next; + if (next == null) { + A.assertHelper(cell === _this._collection$_last); + _this._collection$_last = previous; + } else + next._collection$_previous = previous; + --_this._collection$_length; + _this._collection$_modified$0(); + }, + _computeHashCode$1(element) { + return J.get$hashCode$(element) & 1073741823; + }, + _findBucketIndex$2(bucket, element) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i]._element, element)) + return i; + return -1; + } + }; + A._LinkedHashSetCell.prototype = {}; + A._LinkedHashSetIterator.prototype = { + get$current(_) { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + cell = _this._collection$_cell, + t1 = _this._set; + if (_this._collection$_modifications !== t1._collection$_modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (cell == null) { + _this.set$_collection$_current(null); + return false; + } else { + _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element)); + _this._collection$_cell = cell._collection$_next; + return true; + } + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.HashMap_HashMap$from_closure.prototype = { + call$2(k, v) { + this.result.$indexSet(0, this.K._as(k), this.V._as(v)); + }, + $signature: 15 + }; + A.LinkedList.prototype = { + remove$1(_, entry) { + this.$ti._precomputed1._as(entry); + if (entry._list !== this) + return false; + this._unlink$1(entry); + return true; + }, + get$iterator(_) { + var _this = this; + return new A._LinkedListIterator(_this, _this._modificationCount, _this._collection$_first, _this.$ti._eval$1("_LinkedListIterator<1>")); + }, + get$length(_) { + return this._collection$_length; + }, + get$first(_) { + var t1; + if (this._collection$_length === 0) + throw A.wrapException(A.StateError$("No such element")); + t1 = this._collection$_first; + t1.toString; + return t1; + }, + get$last(_) { + var t1; + if (this._collection$_length === 0) + throw A.wrapException(A.StateError$("No such element")); + t1 = this._collection$_first._collection$_previous; + t1.toString; + return t1; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + _insertBefore$3$updateFirst(entry, newEntry, updateFirst) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("1?")._as(entry); + t1._precomputed1._as(newEntry); + if (newEntry._list != null) + throw A.wrapException(A.StateError$("LinkedListEntry is already in a LinkedList")); + ++_this._modificationCount; + newEntry.set$_list(_this); + if (_this._collection$_length === 0) { + A.assertHelper(entry == null); + newEntry.set$_collection$_next(newEntry); + newEntry.set$_collection$_previous(newEntry); + _this.set$_collection$_first(newEntry); + ++_this._collection$_length; + return; + } + t1 = entry._collection$_previous; + t1.toString; + newEntry.set$_collection$_previous(t1); + newEntry.set$_collection$_next(entry); + t1.set$_collection$_next(newEntry); + entry.set$_collection$_previous(newEntry); + ++_this._collection$_length; + }, + _unlink$1(entry) { + var t1, next, _this = this, _null = null; + _this.$ti._precomputed1._as(entry); + ++_this._modificationCount; + entry._collection$_next.set$_collection$_previous(entry._collection$_previous); + t1 = entry._collection$_previous; + next = entry._collection$_next; + t1.set$_collection$_next(next); + --_this._collection$_length; + entry.set$_collection$_previous(_null); + entry.set$_collection$_next(_null); + entry.set$_list(_null); + if (_this._collection$_length === 0) + _this.set$_collection$_first(_null); + else if (entry === _this._collection$_first) + _this.set$_collection$_first(next); + }, + set$_collection$_first(_first) { + this._collection$_first = this.$ti._eval$1("1?")._as(_first); + } + }; + A._LinkedListIterator.prototype = { + get$current(_) { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + t1 = _this._list; + if (_this._modificationCount !== t1._modificationCount) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + if (t1._collection$_length !== 0) + t1 = _this._visitedFirst && _this._collection$_next === t1.get$first(t1); + else + t1 = true; + if (t1) { + _this.set$_collection$_current(null); + return false; + } + _this._visitedFirst = true; + _this.set$_collection$_current(_this._collection$_next); + _this.set$_collection$_next(_this._collection$_next._collection$_next); + return true; + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + set$_collection$_next(_next) { + this._collection$_next = this.$ti._eval$1("1?")._as(_next); + }, + $isIterator: 1 + }; + A.LinkedListEntry.prototype = { + get$previous() { + var t1 = this._list; + if (t1 == null || this === t1.get$first(t1)) + return null; + return this._collection$_previous; + }, + set$_list(_list) { + this._list = A._instanceType(this)._eval$1("LinkedList?")._as(_list); + }, + set$_collection$_next(_next) { + this._collection$_next = A._instanceType(this)._eval$1("LinkedListEntry.E?")._as(_next); + }, + set$_collection$_previous(_previous) { + this._collection$_previous = A._instanceType(this)._eval$1("LinkedListEntry.E?")._as(_previous); + } + }; + A.ListBase.prototype = { + get$iterator(receiver) { + return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + forEach$1(receiver, action) { + var $length, i; + A.instanceType(receiver)._eval$1("~(ListBase.E)")._as(action); + $length = this.get$length(receiver); + for (i = 0; i < $length; ++i) { + action.call$1(this.$index(receiver, i)); + if ($length !== this.get$length(receiver)) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + }, + get$isEmpty(receiver) { + return this.get$length(receiver) === 0; + }, + get$first(receiver) { + if (this.get$length(receiver) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.$index(receiver, 0); + }, + get$last(receiver) { + if (this.get$length(receiver) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.$index(receiver, this.get$length(receiver) - 1); + }, + map$1$1(receiver, f, $T) { + var t1 = A.instanceType(receiver); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + skip$1(receiver, count) { + return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + toList$1$growable(receiver, growable) { + var t1, first, result, i, _this = this; + if (_this.get$isEmpty(receiver)) { + t1 = J.JSArray_JSArray$growable(0, A.instanceType(receiver)._eval$1("ListBase.E")); + return t1; + } + first = _this.$index(receiver, 0); + result = A.List_List$filled(_this.get$length(receiver), first, true, A.instanceType(receiver)._eval$1("ListBase.E")); + for (i = 1; i < _this.get$length(receiver); ++i) + B.JSArray_methods.$indexSet(result, i, _this.$index(receiver, i)); + return result; + }, + toList$0($receiver) { + return this.toList$1$growable($receiver, true); + }, + cast$1$0(receiver, $R) { + return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@")._bind$1($R)._eval$1("CastList<1,2>")); + }, + sublist$2(receiver, start, end) { + var listLength = this.get$length(receiver); + A.RangeError_checkValidRange(start, end, listLength); + return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + getRange$2(receiver, start, end) { + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + fillRange$3(receiver, start, end, fill) { + var i; + A.instanceType(receiver)._eval$1("ListBase.E?")._as(fill); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + for (i = start; i < end; ++i) + this.$indexSet(receiver, i, fill); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + var $length, otherStart, otherList, i, + t1 = A.instanceType(receiver); + t1._eval$1("Iterable")._as(iterable); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + $length = end - start; + if ($length === 0) + return; + A.RangeError_checkNotNegative(skipCount, "skipCount"); + if (t1._eval$1("List")._is(iterable)) { + otherStart = skipCount; + otherList = iterable; + } else { + otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); + otherStart = 0; + } + t1 = J.getInterceptor$asx(otherList); + if (otherStart + $length > t1.get$length(otherList)) + throw A.wrapException(A.IterableElementError_tooFew()); + if (otherStart < start) + for (i = $length - 1; i >= 0; --i) + this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); + else + for (i = 0; i < $length; ++i) + this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); + }, + setRange$3($receiver, start, end, iterable) { + return this.setRange$4($receiver, start, end, iterable, 0); + }, + setAll$2(receiver, index, iterable) { + A.instanceType(receiver)._eval$1("Iterable")._as(iterable); + this.setRange$3(receiver, index, index + iterable.length, iterable); + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.MapBase.prototype = { + forEach$1(receiver, action) { + var t2, key, t3, + t1 = A.instanceType(receiver); + t1._eval$1("~(MapBase.K,MapBase.V)")._as(action); + for (t2 = J.get$iterator$ax(this.get$keys(receiver)), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) { + key = t2.get$current(t2); + t3 = this.$index(receiver, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + } + }, + get$entries(receiver) { + return J.map$1$1$ax(this.get$keys(receiver), new A.MapBase_entries_closure(receiver), A.instanceType(receiver)._eval$1("MapEntry")); + }, + get$length(receiver) { + return J.get$length$asx(this.get$keys(receiver)); + }, + get$isEmpty(receiver) { + return J.get$isEmpty$asx(this.get$keys(receiver)); + }, + get$values(receiver) { + var t1 = A.instanceType(receiver); + return new A._MapBaseValueIterable(receiver, t1._eval$1("@")._bind$1(t1._eval$1("MapBase.V"))._eval$1("_MapBaseValueIterable<1,2>")); + }, + toString$0(receiver) { + return A.MapBase_mapToString(receiver); + }, + $isMap: 1 + }; + A.MapBase_entries_closure.prototype = { + call$1(key) { + var t1 = this.$this, + t2 = A.instanceType(t1); + t2._eval$1("MapBase.K")._as(key); + t1 = J.$index$asx(t1, key); + if (t1 == null) + t1 = t2._eval$1("MapBase.V")._as(t1); + return new A.MapEntry(key, t1, t2._eval$1("@")._bind$1(t2._eval$1("MapBase.V"))._eval$1("MapEntry<1,2>")); + }, + $signature() { + return A.instanceType(this.$this)._eval$1("MapEntry(MapBase.K)"); + } + }; + A.MapBase_mapToString_closure.prototype = { + call$2(k, v) { + var t2, + t1 = this._box_0; + if (!t1.first) + this.result._contents += ", "; + t1.first = false; + t1 = this.result; + t2 = t1._contents += A.S(k); + t1._contents = t2 + ": "; + t1._contents += A.S(v); + }, + $signature: 36 + }; + A._MapBaseValueIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._collection$_map); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this._collection$_map); + }, + get$first(_) { + var t1 = this._collection$_map, + t2 = J.getInterceptor$x(t1); + t1 = t2.$index(t1, J.get$first$ax(t2.get$keys(t1))); + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + get$last(_) { + var t1 = this._collection$_map, + t2 = J.getInterceptor$x(t1); + t1 = t2.$index(t1, J.get$last$ax(t2.get$keys(t1))); + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + get$iterator(_) { + var t1 = this._collection$_map, + t2 = this.$ti; + return new A._MapBaseValueIterator(J.get$iterator$ax(J.get$keys$x(t1)), t1, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_MapBaseValueIterator<1,2>")); + } + }; + A._MapBaseValueIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._keys; + if (t1.moveNext$0()) { + _this.set$_collection$_current(J.$index$asx(_this._collection$_map, t1.get$current(t1))); + return true; + } + _this.set$_collection$_current(null); + return false; + }, + get$current(_) { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("2?")._as(_current); + }, + $isIterator: 1 + }; + A._UnmodifiableMapMixin.prototype = {}; + A.MapView.prototype = { + $index(_, key) { + return this._collection$_map.$index(0, key); + }, + forEach$1(_, action) { + this._collection$_map.forEach$1(0, this.$ti._eval$1("~(1,2)")._as(action)); + }, + get$length(_) { + return this._collection$_map._length; + }, + get$keys(_) { + var t1 = this._collection$_map; + return new A.LinkedHashMapKeyIterable(t1, t1.$ti._eval$1("LinkedHashMapKeyIterable<1>")); + }, + toString$0(_) { + return A.MapBase_mapToString(this._collection$_map); + }, + get$values(_) { + var t1 = this._collection$_map; + return t1.get$values(t1); + }, + get$entries(_) { + var t1 = this._collection$_map; + return t1.get$entries(t1); + }, + $isMap: 1 + }; + A.UnmodifiableMapView.prototype = {}; + A.SetBase.prototype = { + get$isEmpty(_) { + return this.get$length(this) === 0; + }, + toString$0(_) { + return A.Iterable_iterableToFullString(this, "{", "}"); + }, + skip$1(_, n) { + return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._precomputed1); + }, + get$first(_) { + var it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + return it.get$current(it); + }, + get$last(_) { + var result, + it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + do + result = it.get$current(it); + while (it.moveNext$0()); + return result; + }, + elementAt$1(_, index) { + var iterator, skipCount; + A.RangeError_checkNotNegative(index, "index"); + iterator = this.get$iterator(this); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) + return iterator.get$current(iterator); + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, null, "index")); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isSet: 1 + }; + A._SetBase.prototype = {}; + A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; + A.Utf8Decoder__decoder_closure.prototype = { + call$0() { + var t1, exception; + try { + t1 = new TextDecoder("utf-8", {fatal: true}); + return t1; + } catch (exception) { + } + return null; + }, + $signature: 28 + }; + A.Utf8Decoder__decoderNonfatal_closure.prototype = { + call$0() { + var t1, exception; + try { + t1 = new TextDecoder("utf-8", {fatal: false}); + return t1; + } catch (exception) { + } + return null; + }, + $signature: 28 + }; + A.Base64Codec.prototype = { + normalize$3(_, source, start, end) { + var inverseAlphabet, t2, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, digit2, char0, value, t3, endLength, $length, + _s31_ = "Invalid base64 encoding length ", + t1 = source.length; + end = A.RangeError_checkValidRange(start, end, t1); + inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet(); + for (t2 = inverseAlphabet.length, i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) { + i0 = i + 1; + char = B.JSString_methods._codeUnitAt$1(source, i); + if (char === 37) { + i1 = i0 + 2; + if (i1 <= end) { + A.assertHelper(i1 <= t1); + digit1 = A.hexDigitValue(B.JSString_methods._codeUnitAt$1(source, i0)); + digit2 = A.hexDigitValue(B.JSString_methods._codeUnitAt$1(source, i0 + 1)); + char0 = digit1 * 16 + digit2 - (digit2 & 256); + if (char0 === 37) + char0 = -1; + i0 = i1; + } else + char0 = -1; + } else + char0 = char; + if (0 <= char0 && char0 <= 127) { + if (!(char0 >= 0 && char0 < t2)) + return A.ioore(inverseAlphabet, char0); + value = inverseAlphabet[char0]; + if (value >= 0) { + char0 = B.JSString_methods.codeUnitAt$1("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", value); + if (char0 === char) + continue; + char = char0; + } else { + if (value === -1) { + if (firstPadding < 0) { + t3 = buffer == null ? null : buffer._contents.length; + if (t3 == null) + t3 = 0; + firstPadding = t3 + (i - sliceStart); + firstPaddingSourceIndex = i; + } + ++paddingCount; + if (char === 61) + continue; + } + char = char0; + } + if (value !== -2) { + if (buffer == null) { + buffer = new A.StringBuffer(""); + t3 = buffer; + } else + t3 = buffer; + t3._contents += B.JSString_methods.substring$2(source, sliceStart, i); + t3._contents += A.Primitives_stringFromCharCode(char); + sliceStart = i0; + continue; + } + } + throw A.wrapException(A.FormatException$("Invalid base64 data", source, i)); + } + if (buffer != null) { + t1 = buffer._contents += B.JSString_methods.substring$2(source, sliceStart, end); + t2 = t1.length; + if (firstPadding >= 0) + A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2); + else { + endLength = B.JSInt_methods.$mod(t2 - 1, 4) + 1; + if (endLength === 1) + throw A.wrapException(A.FormatException$(_s31_, source, end)); + for (; endLength < 4;) { + t1 += "="; + buffer._contents = t1; + ++endLength; + } + } + t1 = buffer._contents; + return B.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1); + } + $length = end - start; + if (firstPadding >= 0) + A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length); + else { + endLength = B.JSInt_methods.$mod($length, 4); + if (endLength === 1) + throw A.wrapException(A.FormatException$(_s31_, source, end)); + if (endLength > 1) + source = B.JSString_methods.replaceRange$3(source, end, end, endLength === 2 ? "==" : "="); + } + return source; + } + }; + A.Base64Encoder.prototype = {}; + A.Codec.prototype = {}; + A.Converter.prototype = {$isStreamTransformer: 1}; + A.Encoding.prototype = {}; + A.Utf8Codec.prototype = { + decode$1(_, codeUnits) { + type$.List_int._as(codeUnits); + return B.Utf8Decoder_false.convert$1(codeUnits); + }, + get$encoder() { + return B.C_Utf8Encoder; + } + }; + A.Utf8Encoder.prototype = { + convert$1(string) { + var t1, encoder, endPosition, t2, + end = A.RangeError_checkValidRange(0, null, string.length), + $length = end - 0; + if ($length === 0) + return new Uint8Array(0); + t1 = new Uint8Array($length * 3); + encoder = new A._Utf8Encoder(t1); + endPosition = encoder._fillBuffer$3(string, 0, end); + t2 = end - 1; + A.assertHelper(endPosition >= t2); + if (endPosition !== end) { + A.assertHelper((B.JSString_methods.codeUnitAt$1(string, t2) & 64512) === 55296); + encoder._writeReplacementCharacter$0(); + } + return B.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex); + } + }; + A._Utf8Encoder.prototype = { + _writeReplacementCharacter$0() { + var _this = this, + t1 = _this._buffer, + t2 = _this._bufferIndex, + t3 = _this._bufferIndex = t2 + 1, + t4 = t1.length; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = 239; + t2 = _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = 191; + _this._bufferIndex = t2 + 1; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = 189; + }, + _writeSurrogate$2(leadingSurrogate, nextCodeUnit) { + var rune, t1, t2, t3, t4, _this = this; + if ((nextCodeUnit & 64512) === 56320) { + rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023; + A.assertHelper(rune > 65535); + A.assertHelper(rune <= 1114111); + t1 = _this._buffer; + t2 = _this._bufferIndex; + t3 = _this._bufferIndex = t2 + 1; + t4 = t1.length; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = rune >>> 18 | 240; + t2 = _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = rune >>> 12 & 63 | 128; + t3 = _this._bufferIndex = t2 + 1; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = rune >>> 6 & 63 | 128; + _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = rune & 63 | 128; + return true; + } else { + _this._writeReplacementCharacter$0(); + return false; + } + }, + _fillBuffer$3(str, start, end) { + var t1, t2, stringIndex, codeUnit, t3, stringIndex0, t4, _this = this; + if (start !== end && (B.JSString_methods.codeUnitAt$1(str, end - 1) & 64512) === 55296) + --end; + for (t1 = _this._buffer, t2 = t1.length, stringIndex = start; stringIndex < end; ++stringIndex) { + codeUnit = B.JSString_methods._codeUnitAt$1(str, stringIndex); + if (codeUnit <= 127) { + t3 = _this._bufferIndex; + if (t3 >= t2) + break; + _this._bufferIndex = t3 + 1; + t1[t3] = codeUnit; + } else { + t3 = codeUnit & 64512; + if (t3 === 55296) { + if (_this._bufferIndex + 4 > t2) + break; + stringIndex0 = stringIndex + 1; + if (_this._writeSurrogate$2(codeUnit, B.JSString_methods._codeUnitAt$1(str, stringIndex0))) + stringIndex = stringIndex0; + } else if (t3 === 56320) { + if (_this._bufferIndex + 3 > t2) + break; + _this._writeReplacementCharacter$0(); + } else if (codeUnit <= 2047) { + t3 = _this._bufferIndex; + t4 = t3 + 1; + if (t4 >= t2) + break; + _this._bufferIndex = t4; + if (!(t3 < t2)) + return A.ioore(t1, t3); + t1[t3] = codeUnit >>> 6 | 192; + _this._bufferIndex = t4 + 1; + t1[t4] = codeUnit & 63 | 128; + } else { + A.assertHelper(codeUnit <= 65535); + t3 = _this._bufferIndex; + if (t3 + 2 >= t2) + break; + t4 = _this._bufferIndex = t3 + 1; + if (!(t3 < t2)) + return A.ioore(t1, t3); + t1[t3] = codeUnit >>> 12 | 224; + t3 = _this._bufferIndex = t4 + 1; + if (!(t4 < t2)) + return A.ioore(t1, t4); + t1[t4] = codeUnit >>> 6 & 63 | 128; + _this._bufferIndex = t3 + 1; + if (!(t3 < t2)) + return A.ioore(t1, t3); + t1[t3] = codeUnit & 63 | 128; + } + } + } + return stringIndex; + } + }; + A.Utf8Decoder.prototype = { + convert$3(codeUnits, start, end) { + var t1, result; + type$.List_int._as(codeUnits); + t1 = this._allowMalformed; + result = A.Utf8Decoder__convertIntercepted(t1, codeUnits, start, end); + if (result != null) + return result; + return new A._Utf8Decoder(t1).convertGeneral$4(codeUnits, start, end, true); + }, + convert$1(codeUnits) { + return this.convert$3(codeUnits, 0, null); + } + }; + A._Utf8Decoder.prototype = { + convertGeneral$4(codeUnits, start, maybeEnd, single) { + var end, bytes, errorOffset, result, t1, message, _this = this; + type$.List_int._as(codeUnits); + end = A.RangeError_checkValidRange(start, maybeEnd, J.get$length$asx(codeUnits)); + if (start === end) + return ""; + if (type$.Uint8List._is(codeUnits)) { + bytes = codeUnits; + errorOffset = 0; + } else { + bytes = A._Utf8Decoder__makeUint8List(codeUnits, start, end); + end -= start; + errorOffset = start; + start = 0; + } + result = _this._convertRecursive$4(bytes, start, end, single); + t1 = _this._convert$_state; + if ((t1 & 1) !== 0) { + message = A._Utf8Decoder_errorDescription(t1); + _this._convert$_state = 0; + throw A.wrapException(A.FormatException$(message, codeUnits, errorOffset + _this._charOrIndex)); + } + return result; + }, + _convertRecursive$4(bytes, start, end, single) { + var mid, s1, _this = this; + if (end - start > 1000) { + mid = B.JSInt_methods._tdivFast$1(start + end, 2); + s1 = _this._convertRecursive$4(bytes, start, mid, false); + if ((_this._convert$_state & 1) !== 0) + return s1; + return s1 + _this._convertRecursive$4(bytes, mid, end, single); + } + return _this.decodeGeneral$4(bytes, start, end, single); + }, + decodeGeneral$4(bytes, start, end, single) { + var byte, t2, type, t3, i0, markEnd, i1, m, _this = this, _65533 = 65533, + state = _this._convert$_state, + char = _this._charOrIndex, + buffer = new A.StringBuffer(""), + i = start + 1, + t1 = bytes.length; + if (!(start >= 0 && start < t1)) + return A.ioore(bytes, start); + byte = bytes[start]; + $label0$0: + for (t2 = _this.allowMalformed; true;) { + for (; true; i = i0) { + type = B.JSString_methods._codeUnitAt$1("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE", byte) & 31; + char = state <= 32 ? byte & 61694 >>> type : (byte & 63 | char << 6) >>> 0; + state = B.JSString_methods._codeUnitAt$1(" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA", state + type); + if (state === 0) { + buffer._contents += A.Primitives_stringFromCharCode(char); + if (i === end) + break $label0$0; + break; + } else if ((state & 1) !== 0) { + if (t2) + switch (state) { + case 69: + case 67: + buffer._contents += A.Primitives_stringFromCharCode(_65533); + break; + case 65: + buffer._contents += A.Primitives_stringFromCharCode(_65533); + --i; + break; + default: + t3 = buffer._contents += A.Primitives_stringFromCharCode(_65533); + buffer._contents = t3 + A.Primitives_stringFromCharCode(_65533); + break; + } + else { + _this._convert$_state = state; + _this._charOrIndex = i - 1; + return ""; + } + state = 0; + } + if (i === end) + break $label0$0; + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + } + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + if (byte < 128) { + while (true) { + if (!(i0 < end)) { + markEnd = end; + break; + } + i1 = i0 + 1; + if (!(i0 >= 0 && i0 < t1)) + return A.ioore(bytes, i0); + byte = bytes[i0]; + if (byte >= 128) { + markEnd = i1 - 1; + i0 = i1; + break; + } + i0 = i1; + } + A.assertHelper(i < markEnd); + if (markEnd - i < 20) + for (m = i; m < markEnd; ++m) { + if (!(m < t1)) + return A.ioore(bytes, m); + buffer._contents += A.Primitives_stringFromCharCode(bytes[m]); + } + else + buffer._contents += A.String_String$fromCharCodes(bytes, i, markEnd); + if (markEnd === end) + break $label0$0; + i = i0; + } else + i = i0; + } + if (single && state > 32) + if (t2) + buffer._contents += A.Primitives_stringFromCharCode(_65533); + else { + _this._convert$_state = 77; + _this._charOrIndex = end; + return ""; + } + _this._convert$_state = state; + _this._charOrIndex = char; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + A._BigIntImpl.prototype = { + $negate(_) { + var t2, t3, _this = this, + t1 = _this._used; + if (t1 === 0) + return _this; + t2 = !_this._isNegative; + t3 = _this._digits; + t1 = A._BigIntImpl__normalize(t1, t3); + return new A._BigIntImpl(t1 === 0 ? false : t2, t3, t1); + }, + _dlShift$1(n) { + var resultUsed, digits, resultDigits, i, t1, t2, t3, + used = this._used; + if (used === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used + n; + digits = this._digits; + resultDigits = new Uint16Array(resultUsed); + for (i = used - 1, t1 = digits.length; i >= 0; --i) { + t2 = i + n; + if (!(i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(t2 >= 0 && t2 < resultUsed)) + return A.ioore(resultDigits, t2); + resultDigits[t2] = t3; + } + t1 = this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + _drShift$1(n) { + var resultUsed, digits, resultDigits, t1, i, t2, t3, result, _this = this, + used = _this._used; + if (used === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used - n; + if (resultUsed <= 0) + return _this._isNegative ? $.$get$_BigIntImpl__minusOne() : $.$get$_BigIntImpl_zero(); + digits = _this._digits; + resultDigits = new Uint16Array(resultUsed); + for (t1 = digits.length, i = n; i < used; ++i) { + t2 = i - n; + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(t2 < resultUsed)) + return A.ioore(resultDigits, t2); + resultDigits[t2] = t3; + } + t2 = _this._isNegative; + t3 = A._BigIntImpl__normalize(resultUsed, resultDigits); + result = new A._BigIntImpl(t3 === 0 ? false : t2, resultDigits, t3); + if (t2) + for (i = 0; i < n; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + if (digits[i] !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + } + return result; + }, + $shl(_, shiftAmount) { + var t1, digitShift, resultUsed, resultDigits, t2, _this = this; + if (shiftAmount < 0) + throw A.wrapException(A.ArgumentError$("shift-amount must be posititve " + shiftAmount, null)); + t1 = _this._used; + if (t1 === 0) + return _this; + digitShift = B.JSInt_methods._tdivFast$1(shiftAmount, 16); + if (B.JSInt_methods.$mod(shiftAmount, 16) === 0) + return _this._dlShift$1(digitShift); + resultUsed = t1 + digitShift + 1; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__lsh(_this._digits, t1, shiftAmount, resultDigits); + t1 = _this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + $shr(_, shiftAmount) { + var t1, digitShift, bitShift, resultUsed, digits, resultDigits, t2, result, i, _this = this; + if (shiftAmount < 0) + throw A.wrapException(A.ArgumentError$("shift-amount must be posititve " + shiftAmount, null)); + t1 = _this._used; + if (t1 === 0) + return _this; + digitShift = B.JSInt_methods._tdivFast$1(shiftAmount, 16); + bitShift = B.JSInt_methods.$mod(shiftAmount, 16); + if (bitShift === 0) + return _this._drShift$1(digitShift); + resultUsed = t1 - digitShift; + if (resultUsed <= 0) + return _this._isNegative ? $.$get$_BigIntImpl__minusOne() : $.$get$_BigIntImpl_zero(); + digits = _this._digits; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__rsh(digits, t1, shiftAmount, resultDigits); + t1 = _this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + result = new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + if (t1) { + t1 = digits.length; + if (!(digitShift >= 0 && digitShift < t1)) + return A.ioore(digits, digitShift); + if ((digits[digitShift] & B.JSInt_methods.$shl(1, bitShift) - 1) >>> 0 !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + for (i = 0; i < digitShift; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + if (digits[i] !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + } + } + return result; + }, + compareTo$1(_, other) { + var t1, result; + type$._BigIntImpl._as(other); + t1 = this._isNegative; + if (t1 === other._isNegative) { + result = A._BigIntImpl__compareDigits(this._digits, this._used, other._digits, other._used); + return t1 ? 0 - result : result; + } + return t1 ? -1 : 1; + }, + _absAddSetSign$2(other, isNegative) { + var resultUsed, resultDigits, t1, _this = this, + used = _this._used, + otherUsed = other._used; + if (used < otherUsed) + return other._absAddSetSign$2(_this, isNegative); + if (used === 0) { + A.assertHelper(!isNegative); + return $.$get$_BigIntImpl_zero(); + } + if (otherUsed === 0) + return _this._isNegative === isNegative ? _this : _this.$negate(0); + resultUsed = used + 1; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__absAdd(_this._digits, used, other._digits, otherUsed, resultDigits); + t1 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); + }, + _absSubSetSign$2(other, isNegative) { + var resultDigits, _this = this, + t1 = _this._digits, + t2 = _this._used, + t3 = other._digits, + t4 = other._used; + A.assertHelper(A._BigIntImpl__compareDigits(t1, t2, t3, t4) >= 0); + if (t2 === 0) { + A.assertHelper(!isNegative); + return $.$get$_BigIntImpl_zero(); + } + if (t4 === 0) + return _this._isNegative === isNegative ? _this : _this.$negate(0); + resultDigits = new Uint16Array(t2); + A._BigIntImpl__absSub(t1, t2, t3, t4, resultDigits); + t1 = A._BigIntImpl__normalize(t2, resultDigits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); + }, + $add(_, other) { + var t2, isNegative, _this = this, + t1 = _this._used; + if (t1 === 0) + return other; + t2 = other._used; + if (t2 === 0) + return _this; + isNegative = _this._isNegative; + if (isNegative === other._isNegative) + return _this._absAddSetSign$2(other, isNegative); + if (A._BigIntImpl__compareDigits(_this._digits, t1, other._digits, t2) >= 0) + return _this._absSubSetSign$2(other, isNegative); + return other._absSubSetSign$2(_this, !isNegative); + }, + $sub(_, other) { + var t1, t2, isNegative, _this = this; + type$._BigIntImpl._as(other); + t1 = _this._used; + if (t1 === 0) + return other.$negate(0); + t2 = other._used; + if (t2 === 0) + return _this; + isNegative = _this._isNegative; + if (isNegative !== other._isNegative) + return _this._absAddSetSign$2(other, isNegative); + if (A._BigIntImpl__compareDigits(_this._digits, t1, other._digits, t2) >= 0) + return _this._absSubSetSign$2(other, isNegative); + return other._absSubSetSign$2(_this, !isNegative); + }, + $mul(_, other) { + var used, otherUsed, resultUsed, digits, otherDigits, resultDigits, t1, i, t2; + type$._BigIntImpl._as(other); + used = this._used; + otherUsed = other._used; + if (used === 0 || otherUsed === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used + otherUsed; + digits = this._digits; + otherDigits = other._digits; + resultDigits = new Uint16Array(resultUsed); + for (t1 = otherDigits.length, i = 0; i < otherUsed;) { + if (!(i < t1)) + return A.ioore(otherDigits, i); + A._BigIntImpl__mulAdd(otherDigits[i], digits, 0, resultDigits, i, used); + ++i; + } + t1 = this._isNegative !== other._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + _div$1(other) { + var lastQuo_used, quo_digits, quo, + t1 = other._used; + A.assertHelper(t1 > 0); + if (this._used < t1) + return $.$get$_BigIntImpl_zero(); + this._divRem$1(other); + lastQuo_used = $._BigIntImpl____lastQuoRemUsed._readField$0() - $._BigIntImpl____lastRemUsed._readField$0(); + quo_digits = A._BigIntImpl__cloneDigits($._BigIntImpl____lastQuoRemDigits._readField$0(), $._BigIntImpl____lastRemUsed._readField$0(), $._BigIntImpl____lastQuoRemUsed._readField$0(), lastQuo_used); + t1 = A._BigIntImpl__normalize(lastQuo_used, quo_digits); + quo = new A._BigIntImpl(false, quo_digits, t1); + return this._isNegative !== other._isNegative && t1 > 0 ? quo.$negate(0) : quo; + }, + _rem$1(other) { + var remDigits, rem, _this = this, + t1 = other._used; + A.assertHelper(t1 > 0); + if (_this._used < t1) + return _this; + _this._divRem$1(other); + remDigits = A._BigIntImpl__cloneDigits($._BigIntImpl____lastQuoRemDigits._readField$0(), 0, $._BigIntImpl____lastRemUsed._readField$0(), $._BigIntImpl____lastRemUsed._readField$0()); + t1 = A._BigIntImpl__normalize($._BigIntImpl____lastRemUsed._readField$0(), remDigits); + rem = new A._BigIntImpl(false, remDigits, t1); + if ($._BigIntImpl____lastRem_nsh._readField$0() > 0) + rem = rem.$shr(0, $._BigIntImpl____lastRem_nsh._readField$0()); + return _this._isNegative && rem._used > 0 ? rem.$negate(0) : rem; + }, + _divRem$1(other) { + var yUsed, yDigits, t1, nsh, yDigits0, yUsed0, resultDigits, resultUsed0, topDigitDivisor, j, tmpDigits, tmpUsed, resultUsed1, t2, nyDigits, i, estimatedQuotientDigit, _this = this, + resultUsed = _this._used; + if (resultUsed === $._BigIntImpl__lastDividendUsed && other._used === $._BigIntImpl__lastDivisorUsed && _this._digits === $._BigIntImpl__lastDividendDigits && other._digits === $._BigIntImpl__lastDivisorDigits) + return; + yUsed = other._used; + A.assertHelper(resultUsed >= yUsed); + yDigits = other._digits; + t1 = yUsed - 1; + if (!(t1 >= 0 && t1 < yDigits.length)) + return A.ioore(yDigits, t1); + nsh = 16 - B.JSInt_methods.get$bitLength(yDigits[t1]); + if (nsh > 0) { + yDigits0 = new Uint16Array(yUsed + 5); + yUsed0 = A._BigIntImpl__lShiftDigits(yDigits, yUsed, nsh, yDigits0); + resultDigits = new Uint16Array(resultUsed + 5); + resultUsed0 = A._BigIntImpl__lShiftDigits(_this._digits, resultUsed, nsh, resultDigits); + } else { + resultDigits = A._BigIntImpl__cloneDigits(_this._digits, 0, resultUsed, resultUsed + 2); + yUsed0 = yUsed; + yDigits0 = yDigits; + resultUsed0 = resultUsed; + } + t1 = yUsed0 - 1; + if (!(t1 >= 0 && t1 < yDigits0.length)) + return A.ioore(yDigits0, t1); + topDigitDivisor = yDigits0[t1]; + j = resultUsed0 - yUsed0; + tmpDigits = new Uint16Array(resultUsed0); + tmpUsed = A._BigIntImpl__dlShiftDigits(yDigits0, yUsed0, j, tmpDigits); + resultUsed1 = resultUsed0 + 1; + t1 = resultDigits.length; + if (A._BigIntImpl__compareDigits(resultDigits, resultUsed0, tmpDigits, tmpUsed) >= 0) { + if (!(resultUsed0 >= 0 && resultUsed0 < t1)) + return A.ioore(resultDigits, resultUsed0); + resultDigits[resultUsed0] = 1; + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + } else { + if (!(resultUsed0 >= 0 && resultUsed0 < t1)) + return A.ioore(resultDigits, resultUsed0); + resultDigits[resultUsed0] = 0; + } + t2 = yUsed0 + 2; + nyDigits = new Uint16Array(t2); + if (!(yUsed0 >= 0 && yUsed0 < t2)) + return A.ioore(nyDigits, yUsed0); + nyDigits[yUsed0] = 1; + A._BigIntImpl__absSub(nyDigits, yUsed0 + 1, yDigits0, yUsed0, nyDigits); + i = resultUsed0 - 1; + for (; j > 0;) { + estimatedQuotientDigit = A._BigIntImpl__estimateQuotientDigit(topDigitDivisor, resultDigits, i); + --j; + A._BigIntImpl__mulAdd(estimatedQuotientDigit, nyDigits, 0, resultDigits, j, yUsed0); + if (!(i >= 0 && i < t1)) + return A.ioore(resultDigits, i); + if (resultDigits[i] < estimatedQuotientDigit) { + tmpUsed = A._BigIntImpl__dlShiftDigits(nyDigits, yUsed0, j, tmpDigits); + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + for (; --estimatedQuotientDigit, resultDigits[i] < estimatedQuotientDigit;) + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + } + --i; + } + $._BigIntImpl__lastDividendDigits = _this._digits; + $._BigIntImpl__lastDividendUsed = resultUsed; + $._BigIntImpl__lastDivisorDigits = yDigits; + $._BigIntImpl__lastDivisorUsed = yUsed; + $._BigIntImpl____lastQuoRemDigits._value = resultDigits; + $._BigIntImpl____lastQuoRemUsed._value = resultUsed1; + $._BigIntImpl____lastRemUsed._value = yUsed0; + $._BigIntImpl____lastRem_nsh._value = nsh; + }, + get$hashCode(_) { + var hash, t2, t3, i, + combine = new A._BigIntImpl_hashCode_combine(), + t1 = this._used; + if (t1 === 0) + return 6707; + hash = this._isNegative ? 83585 : 429689; + for (t2 = this._digits, t3 = t2.length, i = 0; i < t1; ++i) { + if (!(i < t3)) + return A.ioore(t2, i); + hash = combine.call$2(hash, t2[i]); + } + return new A._BigIntImpl_hashCode_finish().call$1(hash); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A._BigIntImpl && this.compareTo$1(0, other) === 0; + }, + toInt$0(_) { + var i, t1, t2, result; + for (i = this._used - 1, t1 = this._digits, t2 = t1.length, result = 0; i >= 0; --i) { + if (!(i < t2)) + return A.ioore(t1, i); + result = result * 65536 + t1[i]; + } + return this._isNegative ? -result : result; + }, + toString$0(_) { + var decimalDigitChunks, rest, t2, t3, digits4, t4, _this = this, + t1 = _this._used; + if (t1 === 0) + return "0"; + if (t1 === 1) { + if (_this._isNegative) { + t1 = _this._digits; + if (0 >= t1.length) + return A.ioore(t1, 0); + return B.JSInt_methods.toString$0(-t1[0]); + } + t1 = _this._digits; + if (0 >= t1.length) + return A.ioore(t1, 0); + return B.JSInt_methods.toString$0(t1[0]); + } + decimalDigitChunks = A._setArrayType([], type$.JSArray_String); + t1 = _this._isNegative; + rest = t1 ? _this.$negate(0) : _this; + for (t2 = type$._BigIntImpl; rest._used > 1;) { + t3 = t2._as($.$get$_BigIntImpl__bigInt10000()); + if (t3._used === 0) + A.throwExpression(B.C_IntegerDivisionByZeroException); + digits4 = rest._rem$1(t3).toString$0(0); + B.JSArray_methods.add$1(decimalDigitChunks, digits4); + t4 = digits4.length; + if (t4 === 1) + B.JSArray_methods.add$1(decimalDigitChunks, "000"); + if (t4 === 2) + B.JSArray_methods.add$1(decimalDigitChunks, "00"); + if (t4 === 3) + B.JSArray_methods.add$1(decimalDigitChunks, "0"); + rest = rest._div$1(t3); + } + t2 = rest._digits; + if (0 >= t2.length) + return A.ioore(t2, 0); + B.JSArray_methods.add$1(decimalDigitChunks, B.JSInt_methods.toString$0(t2[0])); + if (t1) + B.JSArray_methods.add$1(decimalDigitChunks, "-"); + return new A.ReversedListIterable(decimalDigitChunks, type$.ReversedListIterable_String).join$0(0); + }, + $isBigInt: 1, + $isComparable: 1 + }; + A._BigIntImpl_hashCode_combine.prototype = { + call$2(hash, value) { + hash = hash + value & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + return hash ^ hash >>> 6; + }, + $signature: 8 + }; + A._BigIntImpl_hashCode_finish.prototype = { + call$1(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + $signature: 16 + }; + A._FinalizationRegistryWrapper.prototype = {}; + A.NoSuchMethodError_toString_closure.prototype = { + call$2(key, value) { + var t1, t2, t3; + type$.Symbol._as(key); + t1 = this.sb; + t2 = this._box_0; + t3 = t1._contents += t2.comma; + t3 += key.__internal$_name; + t1._contents = t3; + t1._contents = t3 + ": "; + t1._contents += A.Error_safeToString(value); + t2.comma = ", "; + }, + $signature: 35 + }; + A.DateTime.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.DateTime && this._core$_value === other._core$_value && this.isUtc === other.isUtc; + }, + compareTo$1(_, other) { + return B.JSInt_methods.compareTo$1(this._core$_value, type$.DateTime._as(other)._core$_value); + }, + get$hashCode(_) { + var t1 = this._core$_value; + return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823; + }, + toString$0(_) { + var _this = this, + y = A.DateTime__fourDigits(A.Primitives_getYear(_this)), + m = A.DateTime__twoDigits(A.Primitives_getMonth(_this)), + d = A.DateTime__twoDigits(A.Primitives_getDay(_this)), + h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), + min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), + sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), + ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), + t1 = y + "-" + m; + if (_this.isUtc) + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z"; + else + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; + }, + $isComparable: 1 + }; + A.Duration.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Duration && true; + }, + get$hashCode(_) { + return B.JSInt_methods.get$hashCode(0); + }, + compareTo$1(_, other) { + type$.Duration._as(other); + return 0; + }, + toString$0(_) { + return "0:00:00." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(0), 6, "0"); + }, + $isComparable: 1 + }; + A._Enum.prototype = { + toString$0(_) { + return this._enumToString$0(); + }, + $isEnum: 1 + }; + A.Error.prototype = { + get$stackTrace() { + return A.getTraceFromException(this.$thrownJsError); + } + }; + A.AssertionError.prototype = { + toString$0(_) { + var t1 = this.message; + if (t1 != null) + return "Assertion failed: " + A.Error_safeToString(t1); + return "Assertion failed"; + } + }; + A.TypeError.prototype = {}; + A.ArgumentError.prototype = { + get$_errorName() { + return "Invalid argument" + (!this._hasValue ? "(s)" : ""); + }, + get$_errorExplanation() { + return ""; + }, + toString$0(_) { + var _this = this, + $name = _this.name, + nameString = $name == null ? "" : " (" + $name + ")", + message = _this.message, + messageString = message == null ? "" : ": " + A.S(message), + prefix = _this.get$_errorName() + nameString + messageString; + if (!_this._hasValue) + return prefix; + return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.get$invalidValue()); + }, + get$invalidValue() { + return this.invalidValue; + } + }; + A.RangeError.prototype = { + get$invalidValue() { + return A._asNumQ(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + var start, end, explanation; + A.assertHelper(this._hasValue); + start = this.start; + end = this.end; + if (start == null) + explanation = end != null ? ": Not less than or equal to " + A.S(end) : ""; + else if (end == null) + explanation = ": Not greater than or equal to " + A.S(start); + else if (end > start) + explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end); + else + explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start); + return explanation; + } + }; + A.IndexError.prototype = { + get$invalidValue() { + return A._asInt(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + A.assertHelper(this._hasValue); + if (A._asInt(this.invalidValue) < 0) + return ": index must not be negative"; + var t1 = this.length; + if (t1 === 0) + return ": no indices are valid"; + return ": index should be less than " + t1; + }, + get$length(receiver) { + return this.length; + } + }; + A.NoSuchMethodError.prototype = { + toString$0(_) { + var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {}, + sb = new A.StringBuffer(""); + _box_0.comma = ""; + $arguments = _this._core$_arguments; + for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") { + argument = $arguments[_i]; + sb._contents = t2 + t3; + t2 = sb._contents += A.Error_safeToString(argument); + _box_0.comma = ", "; + } + _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); + receiverText = A.Error_safeToString(_this._core$_receiver); + actualParameters = sb.toString$0(0); + return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; + } + }; + A.UnsupportedError.prototype = { + toString$0(_) { + return "Unsupported operation: " + this.message; + } + }; + A.UnimplementedError.prototype = { + toString$0(_) { + return "UnimplementedError: " + this.message; + } + }; + A.StateError.prototype = { + toString$0(_) { + return "Bad state: " + this.message; + } + }; + A.ConcurrentModificationError.prototype = { + toString$0(_) { + var t1 = this.modifiedObject; + if (t1 == null) + return "Concurrent modification during iteration."; + return "Concurrent modification during iteration: " + A.Error_safeToString(t1) + "."; + } + }; + A.OutOfMemoryError.prototype = { + toString$0(_) { + return "Out of Memory"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A.StackOverflowError.prototype = { + toString$0(_) { + return "Stack Overflow"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A._Exception.prototype = { + toString$0(_) { + return "Exception: " + this.message; + } + }; + A.FormatException.prototype = { + toString$0(_) { + var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, + message = this.message, + report = "" !== message ? "FormatException: " + message : "FormatException", + offset = this.offset, + source = this.source; + if (typeof source == "string") { + if (offset != null) + t1 = offset < 0 || offset > source.length; + else + t1 = false; + if (t1) + offset = null; + if (offset == null) { + if (source.length > 78) + source = B.JSString_methods.substring$2(source, 0, 75) + "..."; + return report + "\n" + source; + } + for (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) { + char = B.JSString_methods._codeUnitAt$1(source, i); + if (char === 10) { + if (lineStart !== i || !previousCharWasCR) + ++lineNum; + lineStart = i + 1; + previousCharWasCR = false; + } else if (char === 13) { + ++lineNum; + lineStart = i + 1; + previousCharWasCR = true; + } + } + report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n"); + lineEnd = source.length; + for (i = offset; i < lineEnd; ++i) { + char = B.JSString_methods.codeUnitAt$1(source, i); + if (char === 10 || char === 13) { + lineEnd = i; + break; + } + } + if (lineEnd - lineStart > 78) + if (offset - lineStart < 75) { + end = lineStart + 75; + start = lineStart; + prefix = ""; + postfix = "..."; + } else { + if (lineEnd - offset < 75) { + start = lineEnd - 75; + end = lineEnd; + postfix = ""; + } else { + start = offset - 36; + end = offset + 36; + postfix = "..."; + } + prefix = "..."; + } + else { + end = lineEnd; + start = lineStart; + prefix = ""; + postfix = ""; + } + return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; + } else + return offset != null ? report + (" (at offset " + A.S(offset) + ")") : report; + } + }; + A.IntegerDivisionByZeroException.prototype = { + get$stackTrace() { + return null; + }, + toString$0(_) { + return "IntegerDivisionByZeroException"; + }, + $isError: 1 + }; + A.Iterable.prototype = { + cast$1$0(_, $R) { + return A.CastIterable_CastIterable(this, A._instanceType(this)._eval$1("Iterable.E"), $R); + }, + map$1$1(_, toElement, $T) { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T); + }, + forEach$1(_, action) { + var t1; + A._instanceType(this)._eval$1("~(Iterable.E)")._as(action); + for (t1 = this.get$iterator(this); t1.moveNext$0();) + action.call$1(t1.get$current(t1)); + }, + toList$1$growable(_, growable) { + return A.List_List$of(this, growable, A._instanceType(this)._eval$1("Iterable.E")); + }, + toList$0($receiver) { + return this.toList$1$growable($receiver, true); + }, + get$length(_) { + var it, count; + A.assertHelper(!type$.EfficientLengthIterable_dynamic._is(this)); + it = this.get$iterator(this); + for (count = 0; it.moveNext$0();) + ++count; + return count; + }, + get$isEmpty(_) { + return !this.get$iterator(this).moveNext$0(); + }, + skip$1(_, count) { + return A.SkipIterable_SkipIterable(this, count, A._instanceType(this)._eval$1("Iterable.E")); + }, + get$first(_) { + var it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + return it.get$current(it); + }, + get$last(_) { + var result, + it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + do + result = it.get$current(it); + while (it.moveNext$0()); + return result; + }, + elementAt$1(_, index) { + var iterator, skipCount; + A.RangeError_checkNotNegative(index, "index"); + iterator = this.get$iterator(this); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) + return iterator.get$current(iterator); + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, null, "index")); + }, + toString$0(_) { + return A.Iterable_iterableToShortString(this, "(", ")"); + } + }; + A.Iterator.prototype = {}; + A.MapEntry.prototype = { + toString$0(_) { + return "MapEntry(" + A.S(this.key) + ": " + A.S(this.value) + ")"; + } + }; + A.Null.prototype = { + get$hashCode(_) { + return A.Object.prototype.get$hashCode.call(this, this); + }, + toString$0(_) { + return "null"; + } + }; + A.Object.prototype = {$isObject: 1, + $eq(_, other) { + return this === other; + }, + get$hashCode(_) { + return A.Primitives_objectHashCode(this); + }, + toString$0(_) { + return "Instance of '" + A.Primitives_objectTypeName(this) + "'"; + }, + noSuchMethod$1(_, invocation) { + throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, type$.Invocation._as(invocation))); + }, + get$runtimeType(_) { + return A.getRuntimeTypeOfDartObject(this); + }, + toString() { + return this.toString$0(this); + } + }; + A._StringStackTrace.prototype = { + toString$0(_) { + return this._stackTrace; + }, + $isStackTrace: 1 + }; + A.StringBuffer.prototype = { + get$length(_) { + return this._contents.length; + }, + toString$0(_) { + var t1 = this._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + $isStringSink: 1 + }; + A.Uri__parseIPv4Address_error.prototype = { + call$2(msg, position) { + throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); + }, + $signature: 33 + }; + A.Uri_parseIPv6Address_error.prototype = { + call$2(msg, position) { + throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); + }, + $signature: 31 + }; + A.Uri_parseIPv6Address_parseHex.prototype = { + call$2(start, end) { + var value; + if (end - start > 4) + this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start); + value = A.int_parse(B.JSString_methods.substring$2(this.host, start, end), 16); + if (value < 0 || value > 65535) + this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); + return value; + }, + $signature: 8 + }; + A._Uri.prototype = { + get$_text() { + var t1, t2, t3, t4, _this = this, + value = _this.___Uri__text_FI; + if (value === $) { + t1 = _this.scheme; + t2 = t1.length !== 0 ? "" + t1 + ":" : ""; + t3 = _this._host; + t4 = t3 == null; + if (!t4 || t1 === "file") { + t1 = t2 + "//"; + t2 = _this._userInfo; + if (t2.length !== 0) + t1 = t1 + t2 + "@"; + if (!t4) + t1 += t3; + t2 = _this._port; + if (t2 != null) + t1 = t1 + ":" + A.S(t2); + } else + t1 = t2; + t1 += _this.path; + t2 = _this._query; + if (t2 != null) + t1 = t1 + "?" + t2; + t2 = _this._fragment; + if (t2 != null) + t1 = t1 + "#" + t2; + value !== $ && A.throwLateFieldADI("_text"); + value = _this.___Uri__text_FI = t1.charCodeAt(0) == 0 ? t1 : t1; + } + return value; + }, + get$pathSegments() { + var pathToSplit, result, _this = this, + value = _this.___Uri_pathSegments_FI; + if (value === $) { + pathToSplit = _this.path; + if (pathToSplit.length !== 0 && B.JSString_methods._codeUnitAt$1(pathToSplit, 0) === 47) + pathToSplit = B.JSString_methods.substring$1(pathToSplit, 1); + result = pathToSplit.length === 0 ? B.List_empty0 : A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(pathToSplit.split("/"), type$.JSArray_String), type$.dynamic_Function_String._as(A.core_Uri_decodeComponent$closure()), type$.MappedListIterable_String_dynamic), type$.String); + _this.___Uri_pathSegments_FI !== $ && A.throwLateFieldADI("pathSegments"); + _this.set$___Uri_pathSegments_FI(result); + value = result; + } + return value; + }, + get$hashCode(_) { + var result, _this = this, + value = _this.___Uri_hashCode_FI; + if (value === $) { + result = B.JSString_methods.get$hashCode(_this.get$_text()); + _this.___Uri_hashCode_FI !== $ && A.throwLateFieldADI("hashCode"); + _this.___Uri_hashCode_FI = result; + value = result; + } + return value; + }, + get$userInfo() { + return this._userInfo; + }, + get$host(_) { + var host = this._host; + if (host == null) + return ""; + if (B.JSString_methods.startsWith$1(host, "[")) + return B.JSString_methods.substring$2(host, 1, host.length - 1); + return host; + }, + get$port(_) { + var t1 = this._port; + return t1 == null ? A._Uri__defaultPort(this.scheme) : t1; + }, + get$query(_) { + var t1 = this._query; + return t1 == null ? "" : t1; + }, + get$fragment() { + var t1 = this._fragment; + return t1 == null ? "" : t1; + }, + get$isAbsolute() { + if (this.scheme !== "") { + var t1 = this._fragment; + t1 = (t1 == null ? "" : t1) === ""; + } else + t1 = false; + return t1; + }, + get$hasAuthority() { + return this._host != null; + }, + get$hasQuery() { + return this._query != null; + }, + get$hasFragment() { + return this._fragment != null; + }, + get$hasAbsolutePath() { + return B.JSString_methods.startsWith$1(this.path, "/"); + }, + toFilePath$0() { + var pathSegments, _this = this, + t1 = _this.scheme; + if (t1 !== "" && t1 !== "file") + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a " + t1 + " URI")); + t1 = _this._query; + if ((t1 == null ? "" : t1) !== "") + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a URI with a query component")); + t1 = _this._fragment; + if ((t1 == null ? "" : t1) !== "") + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a URI with a fragment component")); + t1 = $.$get$_Uri__isWindowsCached(); + if (A.boolConversionCheck(t1)) + t1 = A._Uri__toWindowsFilePath(_this); + else { + if (_this._host != null && _this.get$host(_this) !== "") + A.throwExpression(A.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority")); + pathSegments = _this.get$pathSegments(); + A._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false); + t1 = A.StringBuffer__writeAll(B.JSString_methods.startsWith$1(_this.path, "/") ? "" + "/" : "", pathSegments, "/"); + t1 = t1.charCodeAt(0) == 0 ? t1 : t1; + } + return t1; + }, + toString$0(_) { + return this.get$_text(); + }, + $eq(_, other) { + var t1, t2, _this = this; + if (other == null) + return false; + if (_this === other) + return true; + if (type$.Uri._is(other)) + if (_this.scheme === other.get$scheme()) + if (_this._host != null === other.get$hasAuthority()) + if (_this._userInfo === other.get$userInfo()) + if (_this.get$host(_this) === other.get$host(other)) + if (_this.get$port(_this) === other.get$port(other)) + if (_this.path === other.get$path(other)) { + t1 = _this._query; + t2 = t1 == null; + if (!t2 === other.get$hasQuery()) { + if (t2) + t1 = ""; + if (t1 === other.get$query(other)) { + t1 = _this._fragment; + t2 = t1 == null; + if (!t2 === other.get$hasFragment()) { + if (t2) + t1 = ""; + t1 = t1 === other.get$fragment(); + } 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; + else + t1 = false; + return t1; + }, + set$___Uri_pathSegments_FI(___Uri_pathSegments_FI) { + this.___Uri_pathSegments_FI = type$.List_String._as(___Uri_pathSegments_FI); + }, + $isUri: 1, + get$scheme() { + return this.scheme; + }, + get$path(receiver) { + return this.path; + } + }; + A.UriData.prototype = { + get$uri() { + var t2, queryIndex, end, query, _this = this, _null = null, + t1 = _this._uriCache; + if (t1 == null) { + t1 = _this._separatorIndices; + if (0 >= t1.length) + return A.ioore(t1, 0); + t2 = _this._text; + t1 = t1[0] + 1; + queryIndex = B.JSString_methods.indexOf$2(t2, "?", t1); + end = t2.length; + if (queryIndex >= 0) { + query = A._Uri__normalizeOrSubstring(t2, queryIndex + 1, end, B.List_oFp, false, false); + end = queryIndex; + } else + query = _null; + t1 = _this._uriCache = new A._DataUri("data", "", _null, _null, A._Uri__normalizeOrSubstring(t2, t1, end, B.List_XRg, false, false), query, _null); + } + return t1; + }, + toString$0(_) { + var t2, + t1 = this._separatorIndices; + if (0 >= t1.length) + return A.ioore(t1, 0); + t2 = this._text; + return t1[0] === -1 ? "data:" + t2 : t2; + } + }; + A._createTables_build.prototype = { + call$2(state, defaultTransition) { + var t1 = this.tables; + if (!(state < t1.length)) + return A.ioore(t1, state); + t1 = t1[state]; + B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); + return t1; + }, + $signature: 32 + }; + A._createTables_setChars.prototype = { + call$3(target, chars, transition) { + var t1, i, t2; + for (t1 = chars.length, i = 0; i < t1; ++i) { + t2 = B.JSString_methods._codeUnitAt$1(chars, i) ^ 96; + if (!(t2 < 96)) + return A.ioore(target, t2); + target[t2] = transition; + } + }, + $signature: 30 + }; + A._createTables_setRange.prototype = { + call$3(target, range, transition) { + var i, n, t1; + for (i = B.JSString_methods._codeUnitAt$1(range, 0), n = B.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i) { + t1 = (i ^ 96) >>> 0; + if (!(t1 < 96)) + return A.ioore(target, t1); + target[t1] = transition; + } + }, + $signature: 30 + }; + A._SimpleUri.prototype = { + get$hasAuthority() { + return this._hostStart > 0; + }, + get$hasPort() { + return this._hostStart > 0 && this._portStart + 1 < this._pathStart; + }, + get$hasQuery() { + return this._queryStart < this._fragmentStart; + }, + get$hasFragment() { + return this._fragmentStart < this._uri.length; + }, + get$hasAbsolutePath() { + return B.JSString_methods.startsWith$2(this._uri, "/", this._pathStart); + }, + get$isAbsolute() { + return this._schemeEnd > 0 && this._fragmentStart >= this._uri.length; + }, + get$scheme() { + var t1 = this._schemeCache; + return t1 == null ? this._schemeCache = this._computeScheme$0() : t1; + }, + _computeScheme$0() { + var t2, _this = this, + t1 = _this._schemeEnd; + if (t1 <= 0) + return ""; + t2 = t1 === 4; + if (t2 && B.JSString_methods.startsWith$1(_this._uri, "http")) + return "http"; + if (t1 === 5 && B.JSString_methods.startsWith$1(_this._uri, "https")) + return "https"; + if (t2 && B.JSString_methods.startsWith$1(_this._uri, "file")) + return "file"; + if (t1 === 7 && B.JSString_methods.startsWith$1(_this._uri, "package")) + return "package"; + return B.JSString_methods.substring$2(_this._uri, 0, t1); + }, + get$userInfo() { + var t1 = this._hostStart, + t2 = this._schemeEnd + 3; + return t1 > t2 ? B.JSString_methods.substring$2(this._uri, t2, t1 - 1) : ""; + }, + get$host(_) { + var t1 = this._hostStart; + return t1 > 0 ? B.JSString_methods.substring$2(this._uri, t1, this._portStart) : ""; + }, + get$port(_) { + var t1, _this = this; + if (_this.get$hasPort()) + return A.int_parse(B.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null); + t1 = _this._schemeEnd; + if (t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "http")) + return 80; + if (t1 === 5 && B.JSString_methods.startsWith$1(_this._uri, "https")) + return 443; + return 0; + }, + get$path(_) { + return B.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart); + }, + get$query(_) { + var t1 = this._queryStart, + t2 = this._fragmentStart; + return t1 < t2 ? B.JSString_methods.substring$2(this._uri, t1 + 1, t2) : ""; + }, + get$fragment() { + var t1 = this._fragmentStart, + t2 = this._uri; + return t1 < t2.length ? B.JSString_methods.substring$1(t2, t1 + 1) : ""; + }, + get$pathSegments() { + var parts, i, + start = this._pathStart, + end = this._queryStart, + t1 = this._uri; + if (B.JSString_methods.startsWith$2(t1, "/", start)) + ++start; + if (start === end) + return B.List_empty0; + parts = A._setArrayType([], type$.JSArray_String); + for (i = start; i < end; ++i) + if (B.JSString_methods.codeUnitAt$1(t1, i) === 47) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(t1, start, i)); + start = i + 1; + } + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(t1, start, end)); + return A.List_List$unmodifiable(parts, type$.String); + }, + get$hashCode(_) { + var t1 = this._hashCodeCache; + return t1 == null ? this._hashCodeCache = B.JSString_methods.get$hashCode(this._uri) : t1; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return type$.Uri._is(other) && this._uri === other.toString$0(0); + }, + toString$0(_) { + return this._uri; + }, + $isUri: 1 + }; + A._DataUri.prototype = {}; + A.HtmlElement.prototype = {}; + A.AccessibleNodeList.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.AnchorElement.prototype = { + toString$0(receiver) { + var t1 = String(receiver); + t1.toString; + return t1; + } + }; + A.AreaElement.prototype = { + toString$0(receiver) { + var t1 = String(receiver); + t1.toString; + return t1; + } + }; + A.Blob.prototype = {$isBlob: 1}; + A.CharacterData.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.CssPerspective.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.CssRule.prototype = {$isCssRule: 1}; + A.CssStyleDeclaration.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + } + }; + A.CssStyleDeclarationBase.prototype = {}; + A.CssStyleValue.prototype = {}; + A.CssTransformComponent.prototype = {}; + A.CssTransformValue.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.CssUnparsedValue.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.DataTransferItemList.prototype = { + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + var t1 = receiver[index]; + t1.toString; + return t1; + } + }; + A.DedicatedWorkerGlobalScope.prototype = {$isDedicatedWorkerGlobalScope: 1}; + A.DomException.prototype = { + toString$0(receiver) { + var t1 = String(receiver); + t1.toString; + return t1; + } + }; + A.DomRectList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Rectangle_num._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.DomRectReadOnly.prototype = { + toString$0(receiver) { + var t2, + t1 = receiver.left; + t1.toString; + t2 = receiver.top; + t2.toString; + return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(this.get$width(receiver)) + " x " + A.S(this.get$height(receiver)); + }, + $eq(receiver, other) { + var t1, t2; + if (other == null) + return false; + if (type$.Rectangle_num._is(other)) { + t1 = receiver.left; + t1.toString; + t2 = other.left; + t2.toString; + if (t1 === t2) { + t1 = receiver.top; + t1.toString; + t2 = other.top; + t2.toString; + if (t1 === t2) { + t1 = J.getInterceptor$x(other); + t1 = this.get$width(receiver) === t1.get$width(other) && this.get$height(receiver) === t1.get$height(other); + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + return t1; + }, + get$hashCode(receiver) { + var t2, + t1 = receiver.left; + t1.toString; + t2 = receiver.top; + t2.toString; + return A.Object_hash(t1, t2, this.get$width(receiver), this.get$height(receiver)); + }, + get$_height(receiver) { + return receiver.height; + }, + get$height(receiver) { + var t1 = this.get$_height(receiver); + t1.toString; + return t1; + }, + get$_width(receiver) { + return receiver.width; + }, + get$width(receiver) { + var t1 = this.get$_width(receiver); + t1.toString; + return t1; + }, + $isRectangle: 1 + }; + A.DomStringList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + A._asString(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.DomTokenList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + } + }; + A.Element.prototype = { + toString$0(receiver) { + var t1 = receiver.localName; + t1.toString; + return t1; + } + }; + A.Event.prototype = {$isEvent: 1}; + A.EventTarget.prototype = { + addEventListener$3(receiver, type, listener, useCapture) { + type$.nullable_dynamic_Function_Event._as(listener); + if (listener != null) + this._addEventListener$3(receiver, type, listener, false); + }, + _addEventListener$3(receiver, type, listener, options) { + return receiver.addEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false); + }, + _removeEventListener$3(receiver, type, listener, options) { + return receiver.removeEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false); + }, + $isEventTarget: 1 + }; + A.File.prototype = {$isFile: 1}; + A.FileList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.File._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1, + $isFileList: 1 + }; + A.FileWriter.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.FormElement.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.Gamepad.prototype = {$isGamepad: 1}; + A.History.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + } + }; + A.HtmlCollection.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Node._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.ImageData.prototype = {$isImageData: 1}; + A.Location.prototype = { + toString$0(receiver) { + var t1 = String(receiver); + t1.toString; + return t1; + } + }; + A.MediaList.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.MessageEvent.prototype = {$isMessageEvent: 1}; + A.MessagePort.prototype = { + addEventListener$3(receiver, type, listener, useCapture) { + type$.nullable_dynamic_Function_Event._as(listener); + if (type === "message") + receiver.start(); + this.super$EventTarget$addEventListener(receiver, type, listener, false); + }, + close$0(receiver) { + return receiver.close(); + }, + postMessage$2(receiver, message, transfer) { + type$.nullable_List_Object._as(transfer); + if (transfer != null) { + this._postMessage_1$2(receiver, new A._StructuredCloneDart2Js([], []).walk$1(message), transfer); + return; + } + receiver.postMessage(new A._StructuredCloneDart2Js([], []).walk$1(message)); + return; + }, + postMessage$1($receiver, message) { + return this.postMessage$2($receiver, message, null); + }, + _postMessage_1$2(receiver, message, transfer) { + return receiver.postMessage(message, type$.List_Object._as(transfer)); + }, + $isMessagePort: 1 + }; + A.MidiInputMap.prototype = { + $index(receiver, key) { + return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key))); + }, + forEach$1(receiver, f) { + var entries, entry, t1; + type$.void_Function_String_dynamic._as(f); + entries = receiver.entries(); + for (; true;) { + entry = entries.next(); + t1 = entry.done; + t1.toString; + if (t1) + return; + t1 = entry.value[0]; + t1.toString; + f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1])); + } + }, + get$keys(receiver) { + var keys = A._setArrayType([], type$.JSArray_String); + this.forEach$1(receiver, new A.MidiInputMap_keys_closure(keys)); + return keys; + }, + get$values(receiver) { + var values = A._setArrayType([], type$.JSArray_Map_dynamic_dynamic); + this.forEach$1(receiver, new A.MidiInputMap_values_closure(values)); + return values; + }, + get$length(receiver) { + var t1 = receiver.size; + t1.toString; + return t1; + }, + get$isEmpty(receiver) { + var t1 = receiver.size; + t1.toString; + return t1 === 0; + }, + $isMap: 1 + }; + A.MidiInputMap_keys_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.keys, k); + }, + $signature: 2 + }; + A.MidiInputMap_values_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.values, type$.Map_dynamic_dynamic._as(v)); + }, + $signature: 2 + }; + A.MidiOutputMap.prototype = { + $index(receiver, key) { + return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key))); + }, + forEach$1(receiver, f) { + var entries, entry, t1; + type$.void_Function_String_dynamic._as(f); + entries = receiver.entries(); + for (; true;) { + entry = entries.next(); + t1 = entry.done; + t1.toString; + if (t1) + return; + t1 = entry.value[0]; + t1.toString; + f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1])); + } + }, + get$keys(receiver) { + var keys = A._setArrayType([], type$.JSArray_String); + this.forEach$1(receiver, new A.MidiOutputMap_keys_closure(keys)); + return keys; + }, + get$values(receiver) { + var values = A._setArrayType([], type$.JSArray_Map_dynamic_dynamic); + this.forEach$1(receiver, new A.MidiOutputMap_values_closure(values)); + return values; + }, + get$length(receiver) { + var t1 = receiver.size; + t1.toString; + return t1; + }, + get$isEmpty(receiver) { + var t1 = receiver.size; + t1.toString; + return t1 === 0; + }, + $isMap: 1 + }; + A.MidiOutputMap_keys_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.keys, k); + }, + $signature: 2 + }; + A.MidiOutputMap_values_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.values, type$.Map_dynamic_dynamic._as(v)); + }, + $signature: 2 + }; + A.MimeType.prototype = {$isMimeType: 1}; + A.MimeTypeArray.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.MimeType._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.Node.prototype = { + toString$0(receiver) { + var value = receiver.nodeValue; + return value == null ? this.super$Interceptor$toString(receiver) : value; + }, + $isNode: 1 + }; + A.NodeList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Node._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.Plugin.prototype = { + get$length(receiver) { + return receiver.length; + }, + $isPlugin: 1 + }; + A.PluginArray.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Plugin._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.RtcStatsReport.prototype = { + $index(receiver, key) { + return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key))); + }, + forEach$1(receiver, f) { + var entries, entry, t1; + type$.void_Function_String_dynamic._as(f); + entries = receiver.entries(); + for (; true;) { + entry = entries.next(); + t1 = entry.done; + t1.toString; + if (t1) + return; + t1 = entry.value[0]; + t1.toString; + f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1])); + } + }, + get$keys(receiver) { + var keys = A._setArrayType([], type$.JSArray_String); + this.forEach$1(receiver, new A.RtcStatsReport_keys_closure(keys)); + return keys; + }, + get$values(receiver) { + var values = A._setArrayType([], type$.JSArray_Map_dynamic_dynamic); + this.forEach$1(receiver, new A.RtcStatsReport_values_closure(values)); + return values; + }, + get$length(receiver) { + var t1 = receiver.size; + t1.toString; + return t1; + }, + get$isEmpty(receiver) { + var t1 = receiver.size; + t1.toString; + return t1 === 0; + }, + $isMap: 1 + }; + A.RtcStatsReport_keys_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.keys, k); + }, + $signature: 2 + }; + A.RtcStatsReport_values_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.values, type$.Map_dynamic_dynamic._as(v)); + }, + $signature: 2 + }; + A.SelectElement.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.SharedArrayBuffer.prototype = {$isSharedArrayBuffer: 1}; + A.SharedWorkerGlobalScope.prototype = {$isSharedWorkerGlobalScope: 1}; + A.SourceBuffer.prototype = {$isSourceBuffer: 1}; + A.SourceBufferList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.SourceBuffer._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.SpeechGrammar.prototype = {$isSpeechGrammar: 1}; + A.SpeechGrammarList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.SpeechGrammar._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.SpeechRecognitionResult.prototype = { + get$length(receiver) { + return receiver.length; + }, + $isSpeechRecognitionResult: 1 + }; + A.Storage.prototype = { + $index(receiver, key) { + return receiver.getItem(A._asString(key)); + }, + forEach$1(receiver, f) { + var i, key, t1; + type$.void_Function_String_String._as(f); + for (i = 0; true; ++i) { + key = receiver.key(i); + if (key == null) + return; + t1 = receiver.getItem(key); + t1.toString; + f.call$2(key, t1); + } + }, + get$keys(receiver) { + var keys = A._setArrayType([], type$.JSArray_String); + this.forEach$1(receiver, new A.Storage_keys_closure(keys)); + return keys; + }, + get$values(receiver) { + var values = A._setArrayType([], type$.JSArray_String); + this.forEach$1(receiver, new A.Storage_values_closure(values)); + return values; + }, + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + get$isEmpty(receiver) { + return receiver.key(0) == null; + }, + $isMap: 1 + }; + A.Storage_keys_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.keys, k); + }, + $signature: 29 + }; + A.Storage_values_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.values, v); + }, + $signature: 29 + }; + A.StyleSheet.prototype = {$isStyleSheet: 1}; + A.TextTrack.prototype = {$isTextTrack: 1}; + A.TextTrackCue.prototype = {$isTextTrackCue: 1}; + A.TextTrackCueList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.TextTrackCue._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.TextTrackList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.TextTrack._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.TimeRanges.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + } + }; + A.Touch.prototype = {$isTouch: 1}; + A.TouchList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Touch._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.TrackDefaultList.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.Url.prototype = { + toString$0(receiver) { + var t1 = String(receiver); + t1.toString; + return t1; + } + }; + A.VideoTrackList.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.Worker.prototype = { + postMessage$2(receiver, message, transfer) { + type$.nullable_List_Object._as(transfer); + this._postMessage_1$2(receiver, new A._StructuredCloneDart2Js([], []).walk$1(message), transfer); + return; + }, + _postMessage_1$2(receiver, message, transfer) { + return receiver.postMessage(message, type$.nullable_List_Object._as(transfer)); + }, + $isWorker: 1 + }; + A.WorkerGlobalScope.prototype = {}; + A._CssRuleList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.CssRule._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A._DomRect.prototype = { + toString$0(receiver) { + var t2, t3, t4, + t1 = receiver.left; + t1.toString; + t2 = receiver.top; + t2.toString; + t3 = receiver.width; + t3.toString; + t4 = receiver.height; + t4.toString; + return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(t3) + " x " + A.S(t4); + }, + $eq(receiver, other) { + var t1, t2; + if (other == null) + return false; + if (type$.Rectangle_num._is(other)) { + t1 = receiver.left; + t1.toString; + t2 = other.left; + t2.toString; + if (t1 === t2) { + t1 = receiver.top; + t1.toString; + t2 = other.top; + t2.toString; + if (t1 === t2) { + t1 = receiver.width; + t1.toString; + t2 = J.getInterceptor$x(other); + if (t1 === t2.get$width(other)) { + t1 = receiver.height; + t1.toString; + t2 = t1 === t2.get$height(other); + t1 = t2; + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + return t1; + }, + get$hashCode(receiver) { + var t2, t3, t4, + t1 = receiver.left; + t1.toString; + t2 = receiver.top; + t2.toString; + t3 = receiver.width; + t3.toString; + t4 = receiver.height; + t4.toString; + return A.Object_hash(t1, t2, t3, t4); + }, + get$_height(receiver) { + return receiver.height; + }, + get$height(receiver) { + var t1 = receiver.height; + t1.toString; + return t1; + }, + get$_width(receiver) { + return receiver.width; + }, + get$width(receiver) { + var t1 = receiver.width; + t1.toString; + return t1; + } + }; + A._GamepadList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + type$.nullable_Gamepad._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + if (receiver.length > 0) + return receiver[0]; + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var len = receiver.length; + if (len > 0) + return receiver[len - 1]; + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A._NamedNodeMap.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Node._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A._SpeechRecognitionResultList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.SpeechRecognitionResult._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A._StyleSheetList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length, + t2 = index >>> 0 !== index || index >= t1; + t2.toString; + if (t2) + throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null, null)); + t1 = receiver[index]; + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.StyleSheet._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1; + if (receiver.length > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1, + len = receiver.length; + if (len > 0) { + t1 = receiver[len - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + A.EventStreamProvider.prototype = {}; + A._EventStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = this.$ti; + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return A._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._EventStreamSubscription.prototype = { + cancel$0(_) { + var _this = this; + if (_this._target == null) + return $.$get$nullFuture(); + _this._unlisten$0(); + _this._target = null; + _this.set$_html$_onData(null); + return $.$get$nullFuture(); + }, + onData$1(handleData) { + var _this = this; + _this.$ti._eval$1("~(1)?")._as(handleData); + if (_this._target == null) + throw A.wrapException(A.StateError$("Subscription has been canceled.")); + _this._unlisten$0(); + _this.set$_html$_onData(handleData == null ? null : A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.Event)); + _this._tryResume$0(); + }, + onError$1(_, handleError) { + }, + pause$1(_, resumeSignal) { + if (this._target == null) + return; + ++this._pauseCount; + this._unlisten$0(); + }, + pause$0($receiver) { + return this.pause$1($receiver, null); + }, + resume$0(_) { + var _this = this; + if (_this._target == null || _this._pauseCount <= 0) + return; + --_this._pauseCount; + _this._tryResume$0(); + }, + _tryResume$0() { + var t2, _this = this, + t1 = _this._html$_onData; + if (t1 != null && _this._pauseCount <= 0) { + t2 = _this._target; + t2.toString; + J.addEventListener$3$x(t2, _this._eventType, t1, false); + } + }, + _unlisten$0() { + var t2, + t1 = this._html$_onData; + if (t1 != null) { + t2 = this._target; + t2.toString; + J._removeEventListener$3$x(t2, this._eventType, type$.nullable_dynamic_Function_Event._as(t1), false); + } + }, + set$_html$_onData(_onData) { + this._html$_onData = type$.nullable_dynamic_Function_Event._as(_onData); + }, + $isStreamSubscription: 1 + }; + A._EventStreamSubscription_closure.prototype = { + call$1(e) { + return this.onData.call$1(type$.Event._as(e)); + }, + $signature: 1 + }; + A._EventStreamSubscription_onData_closure.prototype = { + call$1(e) { + return this.handleData.call$1(type$.Event._as(e)); + }, + $signature: 1 + }; + A.ImmutableListMixin.prototype = { + get$iterator(receiver) { + return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator")); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + A.instanceType(receiver)._eval$1("Iterable")._as(iterable); + throw A.wrapException(A.UnsupportedError$("Cannot setRange on immutable List.")); + }, + setRange$3($receiver, start, end, iterable) { + return this.setRange$4($receiver, start, end, iterable, 0); + } + }; + A.FixedSizeListIterator.prototype = { + moveNext$0() { + var _this = this, + nextPosition = _this._position + 1, + t1 = _this._html$_length; + if (nextPosition < t1) { + _this.set$_html$_current(J.$index$asx(_this._array, nextPosition)); + _this._position = nextPosition; + return true; + } + _this.set$_html$_current(null); + _this._position = t1; + return false; + }, + get$current(_) { + var t1 = this._html$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + set$_html$_current(_current) { + this._html$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {}; + A._DomRectList_JavaScriptObject_ListMixin.prototype = {}; + A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._DomStringList_JavaScriptObject_ListMixin.prototype = {}; + A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._FileList_JavaScriptObject_ListMixin.prototype = {}; + A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._HtmlCollection_JavaScriptObject_ListMixin.prototype = {}; + A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._MidiInputMap_JavaScriptObject_MapMixin.prototype = {}; + A._MidiOutputMap_JavaScriptObject_MapMixin.prototype = {}; + A._MimeTypeArray_JavaScriptObject_ListMixin.prototype = {}; + A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._NodeList_JavaScriptObject_ListMixin.prototype = {}; + A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._PluginArray_JavaScriptObject_ListMixin.prototype = {}; + A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._RtcStatsReport_JavaScriptObject_MapMixin.prototype = {}; + A._SourceBufferList_EventTarget_ListMixin.prototype = {}; + A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.prototype = {}; + A._SpeechGrammarList_JavaScriptObject_ListMixin.prototype = {}; + A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._Storage_JavaScriptObject_MapMixin.prototype = {}; + A._TextTrackCueList_JavaScriptObject_ListMixin.prototype = {}; + A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._TextTrackList_EventTarget_ListMixin.prototype = {}; + A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.prototype = {}; + A._TouchList_JavaScriptObject_ListMixin.prototype = {}; + A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A.__CssRuleList_JavaScriptObject_ListMixin.prototype = {}; + A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A.__GamepadList_JavaScriptObject_ListMixin.prototype = {}; + A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A.__NamedNodeMap_JavaScriptObject_ListMixin.prototype = {}; + A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin.prototype = {}; + A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A.__StyleSheetList_JavaScriptObject_ListMixin.prototype = {}; + A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._StructuredClone.prototype = { + findSlot$1(value) { + var i, + t1 = this.values, + $length = t1.length; + for (i = 0; i < $length; ++i) + if (t1[i] === value) + return i; + B.JSArray_methods.add$1(t1, value); + B.JSArray_methods.add$1(this.copies, null); + return $length; + }, + walk$1(e) { + var slot, t2, copy, t3, _this = this, t1 = {}; + if (e == null) + return e; + if (A._isBool(e)) + return e; + if (typeof e == "number") + return e; + if (typeof e == "string") + return e; + if (e instanceof A.DateTime) + return new Date(e._core$_value); + if (type$.RegExp._is(e)) + throw A.wrapException(A.UnimplementedError$("structured clone of RegExp")); + if (type$.File._is(e)) + return e; + if (type$.Blob._is(e)) + return e; + if (type$.FileList._is(e)) + return e; + if (type$.ImageData._is(e)) + return e; + if (type$.NativeByteBuffer._is(e) || type$.NativeTypedData._is(e) || type$.MessagePort._is(e) || type$.SharedArrayBuffer._is(e)) + return e; + if (type$.Map_dynamic_dynamic._is(e)) { + slot = _this.findSlot$1(e); + t2 = _this.copies; + if (!(slot < t2.length)) + return A.ioore(t2, slot); + copy = t1.copy = t2[slot]; + if (copy != null) + return copy; + copy = {}; + t1.copy = copy; + B.JSArray_methods.$indexSet(t2, slot, copy); + J.forEach$1$ax(e, new A._StructuredClone_walk_closure(t1, _this)); + return t1.copy; + } + if (type$.List_dynamic._is(e)) { + slot = _this.findSlot$1(e); + t1 = _this.copies; + if (!(slot < t1.length)) + return A.ioore(t1, slot); + copy = t1[slot]; + if (copy != null) + return copy; + return _this.copyList$2(e, slot); + } + if (type$.JSObject._is(e)) { + slot = _this.findSlot$1(e); + t2 = _this.copies; + if (!(slot < t2.length)) + return A.ioore(t2, slot); + copy = t1.copy = t2[slot]; + if (copy != null) + return copy; + t3 = {}; + t3.toString; + t1.copy = t3; + B.JSArray_methods.$indexSet(t2, slot, t3); + _this.forEachObjectKey$2(e, new A._StructuredClone_walk_closure0(t1, _this)); + return t1.copy; + } + throw A.wrapException(A.UnimplementedError$("structured clone of other type")); + }, + copyList$2(e, slot) { + var i, + t1 = J.getInterceptor$asx(e), + $length = t1.get$length(e), + t2 = new Array($length); + t2.toString; + B.JSArray_methods.$indexSet(this.copies, slot, t2); + for (i = 0; i < $length; ++i) + B.JSArray_methods.$indexSet(t2, i, this.walk$1(t1.$index(e, i))); + return t2; + } + }; + A._StructuredClone_walk_closure.prototype = { + call$2(key, value) { + this._box_0.copy[key] = this.$this.walk$1(value); + }, + $signature: 15 + }; + A._StructuredClone_walk_closure0.prototype = { + call$2(key, value) { + this._box_0.copy[key] = this.$this.walk$1(value); + }, + $signature: 37 + }; + A._AcceptStructuredClone.prototype = { + findSlot$1(value) { + var i, + t1 = this.values, + $length = t1.length; + for (i = 0; i < $length; ++i) + if (t1[i] === value) + return i; + B.JSArray_methods.add$1(t1, value); + B.JSArray_methods.add$1(this.copies, null); + return $length; + }, + walk$1(e) { + var t1, t2, slot, copy, map, t3, $length, t4, i, _this = this; + if (e == null) + return e; + if (A._isBool(e)) + return e; + if (typeof e == "number") + return e; + if (typeof e == "string") + return e; + t1 = e instanceof Date; + t1.toString; + if (t1) { + t1 = e.getTime(); + t1.toString; + if (Math.abs(t1) <= 864e13) + t2 = false; + else + t2 = true; + if (t2) + A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + t1, null)); + A.checkNotNullable(true, "isUtc", type$.bool); + return new A.DateTime(t1, true); + } + t1 = e instanceof RegExp; + t1.toString; + if (t1) + throw A.wrapException(A.UnimplementedError$("structured clone of RegExp")); + t1 = typeof Promise != "undefined" && e instanceof Promise; + t1.toString; + if (t1) + return A.promiseToFuture(e, type$.dynamic); + if (A.isJavaScriptSimpleObject(e)) { + slot = _this.findSlot$1(e); + t1 = _this.copies; + if (!(slot < t1.length)) + return A.ioore(t1, slot); + copy = t1[slot]; + if (copy != null) + return copy; + t2 = type$.dynamic; + map = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2); + B.JSArray_methods.$indexSet(t1, slot, map); + _this.forEachJsField$2(e, new A._AcceptStructuredClone_walk_closure(_this, map)); + return map; + } + t1 = e instanceof Array; + t1.toString; + if (t1) { + t1 = e; + t1.toString; + slot = _this.findSlot$1(t1); + t2 = _this.copies; + if (!(slot < t2.length)) + return A.ioore(t2, slot); + copy = t2[slot]; + if (copy != null) + return copy; + t3 = J.getInterceptor$asx(t1); + $length = t3.get$length(t1); + if (_this.mustCopy) { + t4 = new Array($length); + t4.toString; + copy = t4; + } else + copy = t1; + B.JSArray_methods.$indexSet(t2, slot, copy); + for (t2 = J.getInterceptor$ax(copy), i = 0; i < $length; ++i) + t2.$indexSet(copy, i, _this.walk$1(t3.$index(t1, i))); + return copy; + } + return e; + }, + convertNativeToDart_AcceptStructuredClone$2$mustCopy(object, mustCopy) { + this.mustCopy = mustCopy; + return this.walk$1(object); + } + }; + A._AcceptStructuredClone_walk_closure.prototype = { + call$2(key, value) { + var t1 = this.$this.walk$1(value); + this.map.$indexSet(0, key, t1); + return t1; + }, + $signature: 38 + }; + A._convertDartToNative_Value_closure.prototype = { + call$1(element) { + this.array.push(A._convertDartToNative_Value(element)); + }, + $signature: 7 + }; + A.convertDartToNative_Dictionary_closure.prototype = { + call$2(key, value) { + this.object[key] = A._convertDartToNative_Value(value); + }, + $signature: 15 + }; + A._StructuredCloneDart2Js.prototype = { + forEachObjectKey$2(object, action) { + var t1, t2, _i, key; + type$.dynamic_Function_dynamic_dynamic._as(action); + for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + key = t1[_i]; + action.call$2(key, object[key]); + } + } + }; + A._AcceptStructuredCloneDart2Js.prototype = { + forEachJsField$2(object, action) { + var t1, t2, _i, key; + type$.dynamic_Function_dynamic_dynamic._as(action); + for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + key = t1[_i]; + action.call$2(key, object[key]); + } + } + }; + A.Cursor.prototype = { + update$1(receiver, value) { + var e, stacktrace, t1, exception; + try { + t1 = receiver.update(new A._StructuredCloneDart2Js([], []).walk$1(value)); + t1.toString; + t1 = A._completeRequest(t1, type$.dynamic); + return t1; + } catch (exception) { + e = A.unwrapException(exception); + stacktrace = A.getTraceFromException(exception); + t1 = A.Future_Future$error(e, stacktrace, type$.dynamic); + return t1; + } + }, + next$0(receiver) { + receiver.continue(); + }, + $isCursor: 1 + }; + A.CursorWithValue.prototype = {$isCursorWithValue: 1}; + A.Database.prototype = { + createObjectStore$2$autoIncrement(receiver, $name, autoIncrement) { + var t1 = type$.dynamic, + options = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1); + if (autoIncrement != null) + options.$indexSet(0, "autoIncrement", autoIncrement); + return this._createObjectStore$2(receiver, $name, options); + }, + createObjectStore$1($receiver, $name) { + return this.createObjectStore$2$autoIncrement($receiver, $name, null); + }, + transactionStore$2(receiver, storeName, mode) { + var t1; + if (mode !== "readonly" && mode !== "readwrite") + throw A.wrapException(A.ArgumentError$(mode, null)); + t1 = receiver.transaction(storeName, mode); + t1.toString; + return t1; + }, + transactionList$2(receiver, storeNames, mode) { + var t1; + type$.List_String._as(storeNames); + if (mode !== "readonly" && mode !== "readwrite") + throw A.wrapException(A.ArgumentError$(mode, null)); + t1 = receiver.transaction(storeNames, mode); + t1.toString; + return t1; + }, + _createObjectStore$2(receiver, $name, options) { + var t1 = receiver.createObjectStore($name, A.convertDartToNative_Dictionary(options)); + t1.toString; + return t1; + }, + $isDatabase: 1 + }; + A.IdbFactory.prototype = { + open$4$onBlocked$onUpgradeNeeded$version(receiver, $name, onBlocked, onUpgradeNeeded, version) { + var request, e, stacktrace, t1, exception; + type$.nullable_void_Function_VersionChangeEvent._as(onUpgradeNeeded); + type$.nullable_void_Function_Event._as(onBlocked); + try { + request = null; + request = this._open$2(receiver, $name, version); + t1 = type$.nullable_EventTarget; + A._EventStreamSubscription$(t1._as(request), "upgradeneeded", onUpgradeNeeded, false, type$.VersionChangeEvent); + A._EventStreamSubscription$(t1._as(request), "blocked", onBlocked, false, type$.Event); + t1 = A._completeRequest(request, type$.Database); + return t1; + } catch (exception) { + e = A.unwrapException(exception); + stacktrace = A.getTraceFromException(exception); + t1 = A.Future_Future$error(e, stacktrace, type$.Database); + return t1; + } + }, + _open$2(receiver, $name, version) { + var t1 = receiver.open($name, version); + t1.toString; + return t1; + }, + $isIdbFactory: 1 + }; + A._completeRequest_closure.prototype = { + call$1(e) { + this.completer.complete$1(0, this.T._as(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(this.request.result, false))); + }, + $signature: 1 + }; + A.Index.prototype = { + getKey$1(receiver, key) { + var request, e, stacktrace, t1, exception; + try { + t1 = receiver.getKey(key); + t1.toString; + request = t1; + t1 = A._completeRequest(request, type$.dynamic); + return t1; + } catch (exception) { + e = A.unwrapException(exception); + stacktrace = A.getTraceFromException(exception); + t1 = A.Future_Future$error(e, stacktrace, type$.dynamic); + return t1; + } + } + }; + A.ObjectStore.prototype = { + delete$1(receiver, key_OR_keyRange) { + var e, stacktrace, t1, exception; + try { + t1 = receiver.delete(key_OR_keyRange == null ? type$.Object._as(key_OR_keyRange) : key_OR_keyRange); + t1.toString; + t1 = A._completeRequest(t1, type$.dynamic); + return t1; + } catch (exception) { + e = A.unwrapException(exception); + stacktrace = A.getTraceFromException(exception); + t1 = A.Future_Future$error(e, stacktrace, type$.dynamic); + return t1; + } + }, + put$2(receiver, value, key) { + var request, e, stacktrace, t1, exception; + try { + request = null; + request = this._put$2(receiver, value, key); + t1 = A._completeRequest(type$.Request._as(request), type$.dynamic); + return t1; + } catch (exception) { + e = A.unwrapException(exception); + stacktrace = A.getTraceFromException(exception); + t1 = A.Future_Future$error(e, stacktrace, type$.dynamic); + return t1; + } + }, + openCursor$1$key(receiver, key) { + var request = this._openCursor$1(receiver, key); + return A.ObjectStore__cursorStreamFromResult(request, null, type$.CursorWithValue); + }, + _createIndex$3(receiver, $name, keyPath, options) { + var t1 = receiver.createIndex($name, keyPath, A.convertDartToNative_Dictionary(options)); + t1.toString; + return t1; + }, + _openCursor$2(receiver, range, direction) { + var t1 = receiver.openCursor(range, direction); + t1.toString; + return t1; + }, + _openCursor$1($receiver, range) { + return $receiver.openCursor(range); + }, + _put$2(receiver, value, key) { + var t1; + if (key != null) { + t1 = receiver.put(new A._StructuredCloneDart2Js([], []).walk$1(value), new A._StructuredCloneDart2Js([], []).walk$1(key)); + t1.toString; + return t1; + } + t1 = receiver.put(new A._StructuredCloneDart2Js([], []).walk$1(value)); + t1.toString; + return t1; + } + }; + A.ObjectStore__cursorStreamFromResult_closure.prototype = { + call$1(e) { + var cursor = this.T._eval$1("0?")._as(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(this.request.result, false)), + t1 = this.controller; + if (cursor == null) + t1.close$0(0); + else + t1.add$1(0, cursor); + }, + $signature: 1 + }; + A.Request0.prototype = {$isRequest0: 1}; + A.Transaction.prototype = {$isTransaction: 1}; + A.VersionChangeEvent.prototype = {$isVersionChangeEvent: 1}; + A.promiseToFuture_closure.prototype = { + call$1(r) { + return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r)); + }, + $signature: 7 + }; + A.promiseToFuture_closure0.prototype = { + call$1(e) { + if (e == null) + return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); + return this.completer.completeError$1(e); + }, + $signature: 7 + }; + A.NullRejectionException.prototype = { + toString$0(_) { + return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`."; + } + }; + A._JSSecureRandom.prototype = { + _JSSecureRandom$0() { + var $crypto = self.crypto; + if ($crypto != null) + if ($crypto.getRandomValues != null) + return; + throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available.")); + }, + nextInt$1(max) { + var byteCount, t1, start, randomLimit, t2, t3, t4, random, result, _null = null; + if (max <= 0 || max > 4294967296) + throw A.wrapException(new A.RangeError(_null, _null, false, _null, _null, "max must be in range 0 < max \u2264 2^32, was " + max)); + if (max > 255) + if (max > 65535) + byteCount = max > 16777215 ? 4 : 3; + else + byteCount = 2; + else + byteCount = 1; + t1 = this._math$_buffer; + B.NativeByteData_methods._setUint32$3(t1, 0, 0, false); + start = 4 - byteCount; + randomLimit = A._asInt(Math.pow(256, byteCount)); + for (t2 = max - 1, t3 = (max & t2) === 0; true;) { + t4 = t1.buffer; + t4 = new Uint8Array(t4, start, byteCount); + crypto.getRandomValues(t4); + random = B.NativeByteData_methods._getUint32$2(t1, 0, false); + if (t3) + return (random & t2) >>> 0; + result = random % max; + if (random - result + max < randomLimit) + return result; + } + }, + $isRandom: 1 + }; + A.Length.prototype = {$isLength: 1}; + A.LengthList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length; + t1.toString; + t1 = index >>> 0 !== index || index >= t1; + t1.toString; + if (t1) + throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null, null)); + t1 = receiver.getItem(index); + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Length._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[t1 - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.Number.prototype = {$isNumber: 1}; + A.NumberList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length; + t1.toString; + t1 = index >>> 0 !== index || index >= t1; + t1.toString; + if (t1) + throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null, null)); + t1 = receiver.getItem(index); + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Number._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[t1 - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.PointList.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.StringList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length; + t1.toString; + t1 = index >>> 0 !== index || index >= t1; + t1.toString; + if (t1) + throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null, null)); + t1 = receiver.getItem(index); + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + A._asString(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[t1 - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.Transform.prototype = {$isTransform: 1}; + A.TransformList.prototype = { + get$length(receiver) { + var t1 = receiver.length; + t1.toString; + return t1; + }, + $index(receiver, index) { + var t1 = receiver.length; + t1.toString; + t1 = index >>> 0 !== index || index >= t1; + t1.toString; + if (t1) + throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null, null)); + t1 = receiver.getItem(index); + t1.toString; + return t1; + }, + $indexSet(receiver, index, value) { + type$.Transform._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); + }, + get$first(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[0]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + get$last(receiver) { + var t1 = receiver.length; + t1.toString; + if (t1 > 0) { + t1 = receiver[t1 - 1]; + t1.toString; + return t1; + } + throw A.wrapException(A.StateError$("No elements")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A._LengthList_JavaScriptObject_ListMixin.prototype = {}; + A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._NumberList_JavaScriptObject_ListMixin.prototype = {}; + A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._StringList_JavaScriptObject_ListMixin.prototype = {}; + A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A._TransformList_JavaScriptObject_ListMixin.prototype = {}; + A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; + A.AudioBuffer.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.AudioParamMap.prototype = { + $index(receiver, key) { + return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key))); + }, + forEach$1(receiver, f) { + var entries, entry, t1; + type$.void_Function_String_dynamic._as(f); + entries = receiver.entries(); + for (; true;) { + entry = entries.next(); + t1 = entry.done; + t1.toString; + if (t1) + return; + t1 = entry.value[0]; + t1.toString; + f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1])); + } + }, + get$keys(receiver) { + var keys = A._setArrayType([], type$.JSArray_String); + this.forEach$1(receiver, new A.AudioParamMap_keys_closure(keys)); + return keys; + }, + get$values(receiver) { + var values = A._setArrayType([], type$.JSArray_Map_dynamic_dynamic); + this.forEach$1(receiver, new A.AudioParamMap_values_closure(values)); + return values; + }, + get$length(receiver) { + var t1 = receiver.size; + t1.toString; + return t1; + }, + get$isEmpty(receiver) { + var t1 = receiver.size; + t1.toString; + return t1 === 0; + }, + $isMap: 1 + }; + A.AudioParamMap_keys_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.keys, k); + }, + $signature: 2 + }; + A.AudioParamMap_values_closure.prototype = { + call$2(k, v) { + return B.JSArray_methods.add$1(this.values, type$.Map_dynamic_dynamic._as(v)); + }, + $signature: 2 + }; + A.AudioTrackList.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A.BaseAudioContext.prototype = {}; + A.OfflineAudioContext.prototype = { + get$length(receiver) { + return receiver.length; + } + }; + A._AudioParamMap_JavaScriptObject_MapMixin.prototype = {}; + A.connect_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.DatabaseConnection), + $async$returnValue, fs, sqlite3, t1, t2; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait(A.IndexedDbFileSystem_open("my_app"), $async$call$0); + case 3: + // returning from await. + fs = $async$result; + $async$goto = 4; + return A._asyncAwait(A.WasmSqlite3_loadFromUrl(A.Uri_parse("sqlite3.wasm"), A.SqliteEnvironment$(fs)), $async$call$0); + case 4: + // returning from await. + sqlite3 = $async$result; + t1 = A.LinkedHashMap_LinkedHashMap(null, null, type$.String, type$.CommonPreparedStatement); + t2 = A.StreamQueryStore$(); + $async$returnValue = new A.DatabaseConnection(new A.WasmDatabase(new A._WasmDelegate(sqlite3, "app.db", null, null, true, new A.PreparedStatementsCache(t1)), false, true, new A.Lock(), new A.Lock()), t2, null); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 39 + }; + A.DelegatingStreamSink.prototype = { + add$1(_, data) { + this._sink.add$1(0, this.$ti._precomputed1._as(data)); + }, + close$0(_) { + return this._sink.close$0(0); + }, + $isStreamConsumer: 1, + $isStreamSink: 1 + }; + A.DelegatingStreamSubscription.prototype = { + onData$1(handleData) { + this._stream_subscription$_source.onData$1(this.$ti._eval$1("~(1)?")._as(handleData)); + }, + onError$1(_, handleError) { + this._stream_subscription$_source.onError$1(0, handleError); + }, + onDone$1(handleDone) { + this._stream_subscription$_source.onDone$1(type$.nullable_void_Function._as(handleDone)); + }, + pause$1(_, resumeFuture) { + this._stream_subscription$_source.pause$1(0, resumeFuture); + }, + pause$0($receiver) { + return this.pause$1($receiver, null); + }, + resume$0(_) { + this._stream_subscription$_source.resume$0(0); + }, + cancel$0(_) { + return this._stream_subscription$_source.cancel$0(0); + }, + $isStreamSubscription: 1 + }; + A.SubscriptionStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var subscription, result, + t1 = this.$ti; + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + subscription = this._subscription_stream$_source; + if (subscription == null) + throw A.wrapException(A.StateError$("Stream has already been listened to.")); + this.set$_subscription_stream$_source(null); + result = true === cancelOnError ? new A._CancelOnErrorSubscriptionWrapper(subscription, t1._eval$1("_CancelOnErrorSubscriptionWrapper<1>")) : subscription; + result.onData$1(onData); + result.onError$1(0, onError); + result.onDone$1(onDone); + subscription.resume$0(0); + return result; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + set$_subscription_stream$_source(_source) { + this._subscription_stream$_source = this.$ti._eval$1("StreamSubscription<1>?")._as(_source); + } + }; + A._CancelOnErrorSubscriptionWrapper.prototype = { + onError$1(_, handleError) { + this.super$DelegatingStreamSubscription$onError(0, new A._CancelOnErrorSubscriptionWrapper_onError_closure(this, handleError)); + } + }; + A._CancelOnErrorSubscriptionWrapper_onError_closure.prototype = { + call$2(error, stackTrace) { + type$.StackTrace._as(stackTrace); + this.$this.super$DelegatingStreamSubscription$cancel(0).whenComplete$1(new A._CancelOnErrorSubscriptionWrapper_onError__closure(this.handleError, error, stackTrace)); + }, + $signature: 18 + }; + A._CancelOnErrorSubscriptionWrapper_onError__closure.prototype = { + call$0() { + var _this = this, + t1 = _this.handleError; + if (type$.dynamic_Function_dynamic_dynamic._is(t1)) + t1.call$2(_this.error, _this.stackTrace); + else if (t1 != null) + type$.dynamic_Function_dynamic._as(t1).call$1(_this.error); + }, + $signature: 4 + }; + A.DefaultEquality.prototype = {}; + A.ListEquality.prototype = { + equals$2(list1, list2) { + var $length, t2, i, + t1 = this.$ti._eval$1("List<1>?"); + t1._as(list1); + t1._as(list2); + if (list1 === list2) + return true; + t1 = J.getInterceptor$asx(list1); + $length = t1.get$length(list1); + t2 = J.getInterceptor$asx(list2); + if ($length !== t2.get$length(list2)) + return false; + for (i = 0; i < $length; ++i) + if (!J.$eq$(t1.$index(list1, i), t2.$index(list2, i))) + return false; + return true; + }, + hash$1(_, list) { + var t1, hash, i; + this.$ti._eval$1("List<1>?")._as(list); + for (t1 = J.getInterceptor$asx(list), hash = 0, i = 0; i < t1.get$length(list); ++i) { + hash = hash + J.get$hashCode$(t1.$index(list, i)) & 2147483647; + hash = hash + (hash << 10 >>> 0) & 2147483647; + hash ^= hash >>> 6; + } + hash = hash + (hash << 3 >>> 0) & 2147483647; + hash ^= hash >>> 11; + return hash + (hash << 15 >>> 0) & 2147483647; + } + }; + A.NonGrowableListMixin.prototype = {}; + A.UnmodifiableMapMixin.prototype = {}; + A.DriftCommunication.prototype = { + DriftCommunication$3$debugLog$serialize(_channel, debugLog, serialize) { + var t1 = this._channel; + t1.get$stream(t1).listen$2$onDone(this.get$_communication$_handleMessage(), new A.DriftCommunication_closure(this)); + }, + newRequestId$0() { + return this._currentRequestId++; + }, + close$0(_) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if ($async$self._startedClosingLocally || ($async$self._closeCompleter.future._state & 30) !== 0) { + // goto return + $async$goto = 1; + break; + } + $async$self._startedClosingLocally = true; + $async$self._channel.get$sink().close$0(0); + $async$goto = 3; + return A._asyncAwait($async$self._closeCompleter.future, $async$close$0); + case 3: + // returning from await. + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + _communication$_handleMessage$1(msg) { + var request, requestId, t1, _this = this; + msg.toString; + msg = B.C_DriftProtocol.deserialize$1(msg); + if (msg instanceof A.SuccessResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completer.complete$1(0, msg.response); + } else if (msg instanceof A.ErrorResponse) { + requestId = msg.requestId; + t1 = _this._pendingRequests; + request = t1.remove$1(0, requestId); + if (request != null) + request.completer.completeError$2(new A.DriftRemoteException(msg.error), request.requestTrace); + t1.remove$1(0, requestId); + } else if (msg instanceof A.Request) + _this._incomingRequests.add$1(0, msg); + else if (msg instanceof A.CancelledResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completer.completeError$2(B.C_CancellationException, request.requestTrace); + } + }, + request$1$2$requestId(_, request, requestId, $T) { + var id = requestId == null ? this.newRequestId$0() : requestId, + t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + this._pendingRequests.$indexSet(0, id, new A._PendingRequest(new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")), A.StackTrace_current())); + this._send$1(new A.Request(id, request)); + return t1; + }, + request$1$1($receiver, request, $T) { + return this.request$1$2$requestId($receiver, request, null, $T); + }, + _send$1(msg) { + var t1, t2; + if (this._startedClosingLocally || (this._closeCompleter.future._state & 30) !== 0) + throw A.wrapException(A.StateError$("Tried to send " + msg.toString$0(0) + " over isolate channel, but the connection was closed!")); + t1 = this._channel.get$sink(); + t2 = B.C_DriftProtocol.serialize$1(msg); + t1.add$1(0, t2); + }, + respondError$3(request, error, trace) { + var t1, _this = this; + type$.nullable_StackTrace._as(trace); + if (_this._startedClosingLocally || (_this._closeCompleter.future._state & 30) !== 0) + return; + t1 = request.id; + if (error instanceof A.CancellationException) + _this._send$1(new A.CancelledResponse(t1)); + else + _this._send$1(new A.ErrorResponse(t1, error, trace)); + }, + setRequestHandler$1(handler) { + var t1 = this._incomingRequests; + new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new A.DriftCommunication_setRequestHandler_closure(this, type$.dynamic_Function_Request._as(handler))); + } + }; + A.DriftCommunication_closure.prototype = { + call$0() { + var t1, t2, t3, t4, t5; + for (t1 = this.$this, t2 = t1._pendingRequests, t3 = t2.get$values(t2), t4 = A._instanceType(t3), t4 = t4._eval$1("@<1>")._bind$1(t4._rest[1]), t3 = new A.MappedIterator(J.get$iterator$ax(t3.__internal$_iterable), t3._f, t4._eval$1("MappedIterator<1,2>")), t4 = t4._rest[1]; t3.moveNext$0();) { + t5 = t3.__internal$_current; + if (t5 == null) + t5 = t4._as(t5); + t5.completer.completeError$2(B.C_ConnectionClosedException, t5.requestTrace); + } + t2.clear$0(0); + t1._closeCompleter.complete$0(0); + }, + $signature: 0 + }; + A.DriftCommunication_setRequestHandler_closure.prototype = { + call$1(request) { + return this.$call$body$DriftCommunication_setRequestHandler_closure(type$.Request_2._as(request)); + }, + $call$body$DriftCommunication_setRequestHandler_closure(request) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, s, exception, t1, t2, response, $async$exception; + var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + response = null; + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait($async$self.handler.call$1(request), $async$call$1); + case 7: + // returning from await. + response = $async$result; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + t1 = $async$self.$this.respondError$3(request, e, s); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = $async$self.$this; + if (!(t1._startedClosingLocally || (t1._closeCompleter.future._state & 30) !== 0)) { + t2 = response; + t1._send$1(new A.SuccessResponse(request.id, t2)); + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$call$1, $async$completer); + }, + $signature: 40 + }; + A._PendingRequest.prototype = {}; + A.ConnectionClosedException.prototype = {}; + A.DriftRemoteException.prototype = { + toString$0(_) { + return J.toString$0$(this.remoteCause); + } + }; + A.DriftProtocol.prototype = { + serialize$1(message) { + var t1, t2; + if (message instanceof A.Request) + return [0, message.id, this.encodePayload$1(message.payload)]; + else if (message instanceof A.ErrorResponse) { + t1 = J.toString$0$(message.error); + t2 = message.stackTrace; + t2 = t2 == null ? null : t2.toString$0(0); + return [2, message.requestId, t1, t2]; + } else if (message instanceof A.SuccessResponse) + return [1, message.requestId, this.encodePayload$1(message.response)]; + else if (message instanceof A.CancelledResponse) + return A._setArrayType([3, message.requestId], type$.JSArray_int); + else + return null; + }, + deserialize$1(message) { + var t1, tag, id, stringTrace; + if (!type$.List_dynamic._is(message)) + throw A.wrapException(B.FormatException_6mY); + t1 = J.getInterceptor$asx(message); + tag = t1.$index(message, 0); + id = A._asInt(t1.$index(message, 1)); + switch (tag) { + case 0: + return new A.Request(id, this.decodePayload$1(t1.$index(message, 2))); + case 2: + stringTrace = A._asStringQ(t1.$index(message, 3)); + t1 = t1.$index(message, 2); + if (t1 == null) + t1 = type$.Object._as(t1); + return new A.ErrorResponse(id, t1, stringTrace != null ? new A._StringStackTrace(stringTrace) : null); + case 1: + return new A.SuccessResponse(id, this.decodePayload$1(t1.$index(message, 2))); + case 3: + return new A.CancelledResponse(id); + } + throw A.wrapException(B.FormatException_6Jr); + }, + encodePayload$1(payload) { + var t1, t2, t3, t4, t5, _i, arg, t6, _i0, update, rows, result, columns; + if (payload == null || A._isBool(payload)) + return payload; + if (payload instanceof A.NoArgsRequest) + return payload.index; + else if (payload instanceof A.ExecuteQuery) { + t1 = payload.method; + t2 = payload.sql; + t3 = []; + for (t4 = payload.args, t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) + t3.push(this._encodeDbValue$1(t4[_i])); + return [3, t1.index, t2, t3, payload.executorId]; + } else if (payload instanceof A.ExecuteBatchedStatement) { + t1 = payload.stmts; + t2 = [4, t1.statements]; + for (t1 = t1.$arguments, t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + arg = t1[_i]; + t4 = [arg.statementIndex]; + for (t5 = arg.$arguments, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i0) + t4.push(this._encodeDbValue$1(t5[_i0])); + t2.push(t4); + } + t2.push(payload.executorId); + return t2; + } else if (payload instanceof A.RunTransactionAction) + return A._setArrayType([5, payload.control.index, payload.executorId], type$.JSArray_nullable_int); + else if (payload instanceof A.EnsureOpen) + return A._setArrayType([6, payload.schemaVersion, payload.executorId], type$.JSArray_nullable_int); + else if (payload instanceof A.ServerInfo) + return A._setArrayType([13, payload.dialect._name], type$.JSArray_Object); + else if (payload instanceof A.RunBeforeOpen) { + t1 = payload.details; + return A._setArrayType([7, t1.versionBefore, t1.versionNow, payload.createdExecutor], type$.JSArray_nullable_int); + } else if (payload instanceof A.NotifyTablesUpdated) { + t1 = A._setArrayType([8], type$.JSArray_Object); + for (t2 = payload.updates, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + update = t2[_i]; + t4 = update.table; + t5 = update.kind; + t1.push([t4, t5 == null ? null : t5.index]); + } + return t1; + } else if (payload instanceof A.SelectResult) { + rows = payload.rows; + t1 = J.getInterceptor$asx(rows); + if (t1.get$isEmpty(rows)) + return B.List_11; + else { + result = [11]; + columns = J.toList$0$ax(J.get$keys$x(t1.get$first(rows))); + result.push(columns.length); + B.JSArray_methods.addAll$1(result, columns); + result.push(t1.get$length(rows)); + for (t1 = t1.get$iterator(rows); t1.moveNext$0();) + B.JSArray_methods.addAll$1(result, J.get$values$x(t1.get$current(t1))); + return result; + } + } else if (payload instanceof A.RequestCancellation) + return A._setArrayType([12, payload.originalRequestId], type$.JSArray_int); + else + return [10, payload]; + }, + decodePayload$1(encoded) { + var tag, t1, readInt, readNullableInt, method, t2, sql, args, i, list, updates, encodedUpdate, kindIndex, t3, columnCount, columns, rows, result, t4, t5, t6, rowOffset, t7, c, _box_0 = {}; + if (encoded == null || A._isBool(encoded)) + return encoded; + _box_0.fullMessage = null; + if (A._isInt(encoded)) { + tag = encoded; + t1 = null; + } else { + type$.List_dynamic._as(encoded); + _box_0.fullMessage = encoded; + tag = A._asInt(J.$index$asx(encoded, 0)); + t1 = encoded; + } + readInt = new A.DriftProtocol_decodePayload_readInt(_box_0); + readNullableInt = new A.DriftProtocol_decodePayload_readNullableInt(_box_0); + switch (tag) { + case 0: + return B.NoArgsRequest_0; + case 3: + method = B.JSArray_methods.$index(B.List_pke, readInt.call$1(1)); + t1 = _box_0.fullMessage; + t1.toString; + return new A.ExecuteQuery(method, A._asString(J.$index$asx(t1, 2)), J.map$1$1$ax(type$.List_dynamic._as(J.$index$asx(_box_0.fullMessage, 3)), this.get$_decodeDbValue(), type$.nullable_Object).toList$0(0), readNullableInt.call$1(4)); + case 4: + t1.toString; + t2 = type$.List_dynamic; + sql = J.cast$1$0$ax(t2._as(J.$index$asx(t1, 1)), type$.String); + args = A._setArrayType([], type$.JSArray_ArgumentsForBatchedStatement); + for (i = 2; i < J.get$length$asx(_box_0.fullMessage) - 1; ++i) { + list = t2._as(J.$index$asx(_box_0.fullMessage, i)); + t1 = J.getInterceptor$asx(list); + B.JSArray_methods.add$1(args, new A.ArgumentsForBatchedStatement(A._asInt(t1.$index(list, 0)), t1.skip$1(list, 1).toList$0(0))); + } + return new A.ExecuteBatchedStatement(new A.BatchedStatements(sql, args), A._asInt(J.get$last$ax(_box_0.fullMessage))); + case 5: + return new A.RunTransactionAction(B.JSArray_methods.$index(B.List_kMT, readInt.call$1(1)), readNullableInt.call$1(2)); + case 6: + return new A.EnsureOpen(readInt.call$1(1), readNullableInt.call$1(2)); + case 13: + t1.toString; + return new A.ServerInfo(A.EnumByName_byName(B.List_ww8, A._asString(J.$index$asx(t1, 1)), type$.SqlDialect)); + case 7: + t1 = readNullableInt.call$1(1); + t2 = readInt.call$1(2); + A.assertHelper(t1 !== 0); + return new A.RunBeforeOpen(new A.OpeningDetails(t1, t2), readInt.call$1(3)); + case 8: + updates = A._setArrayType([], type$.JSArray_TableUpdate); + t1 = type$.List_dynamic; + i = 1; + while (true) { + t2 = _box_0.fullMessage; + t2.toString; + if (!(i < J.get$length$asx(t2))) + break; + encodedUpdate = t1._as(J.$index$asx(_box_0.fullMessage, i)); + t2 = J.getInterceptor$asx(encodedUpdate); + kindIndex = A._asIntQ(t2.$index(encodedUpdate, 1)); + t2 = A._asString(t2.$index(encodedUpdate, 0)); + if (kindIndex == null) + t3 = null; + else { + if (kindIndex >>> 0 !== kindIndex || kindIndex >= 3) + return A.ioore(B.List_8Gl, kindIndex); + t3 = B.List_8Gl[kindIndex]; + } + B.JSArray_methods.add$1(updates, new A.TableUpdate(t3, t2)); + ++i; + } + return new A.NotifyTablesUpdated(updates); + case 11: + t1.toString; + if (J.get$length$asx(t1) === 1) + return B.SelectResult_List_empty; + columnCount = readInt.call$1(1); + t1 = 2 + columnCount; + t2 = type$.String; + columns = J.cast$1$0$ax(J.sublist$2$ax(_box_0.fullMessage, 2, t1), t2); + rows = readInt.call$1(t1); + result = A._setArrayType([], type$.JSArray_Map_of_String_and_nullable_Object); + for (t1 = columns.__internal$_source, t3 = J.getInterceptor$asx(t1), t4 = columns.$ti._rest[1], t5 = 3 + columnCount, t6 = type$.nullable_Object, i = 0; i < rows; ++i) { + rowOffset = t5 + i * columnCount; + t7 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t6); + for (c = 0; c < columnCount; ++c) + t7.$indexSet(0, t4._as(t3.$index(t1, c)), J.$index$asx(_box_0.fullMessage, rowOffset + c)); + B.JSArray_methods.add$1(result, t7); + } + return new A.SelectResult(result); + case 12: + return new A.RequestCancellation(readInt.call$1(1)); + case 10: + return J.$index$asx(encoded, 1); + } + throw A.wrapException(A.ArgumentError$value(tag, "tag", "Tag was unknown")); + }, + _encodeDbValue$1(variable) { + if (type$.List_int._is(variable) && !type$.Uint8List._is(variable)) + return new Uint8Array(A._ensureNativeList(variable)); + else if (type$.BigInt._is(variable)) + return A._setArrayType(["bigint", variable.toString$0(0)], type$.JSArray_String); + else + return variable; + }, + _decodeDbValue$1(wire) { + var t1; + if (type$.List_dynamic._is(wire)) { + t1 = J.getInterceptor$asx(wire); + if (t1.get$length(wire) === 2 && J.$eq$(t1.$index(wire, 0), "bigint")) + return A._BigIntImpl_parse(J.toString$0$(t1.$index(wire, 1)), null); + return new Uint8Array(A._ensureNativeList(t1.cast$1$0(wire, type$.int))); + } + return wire; + } + }; + A.DriftProtocol_decodePayload_readInt.prototype = { + call$1(index) { + var t1 = this._box_0.fullMessage; + t1.toString; + return A._asInt(J.$index$asx(t1, index)); + }, + $signature: 16 + }; + A.DriftProtocol_decodePayload_readNullableInt.prototype = { + call$1(index) { + var t1 = this._box_0.fullMessage; + t1.toString; + return A._asIntQ(J.$index$asx(t1, index)); + }, + $signature: 42 + }; + A.Message.prototype = {}; + A.Request.prototype = { + toString$0(_) { + return "Request (id = " + this.id + "): " + A.S(this.payload); + } + }; + A.SuccessResponse.prototype = { + toString$0(_) { + return "SuccessResponse (id = " + this.requestId + "): " + A.S(this.response); + } + }; + A.ErrorResponse.prototype = { + toString$0(_) { + return "ErrorResponse (id = " + this.requestId + "): " + A.S(this.error) + " at " + A.S(this.stackTrace); + } + }; + A.CancelledResponse.prototype = { + toString$0(_) { + return "Previous request " + this.requestId + " was cancelled"; + } + }; + A.NoArgsRequest.prototype = { + _enumToString$0() { + return "NoArgsRequest." + this._name; + } + }; + A.StatementMethod.prototype = { + _enumToString$0() { + return "StatementMethod." + this._name; + } + }; + A.ExecuteQuery.prototype = { + toString$0(_) { + var _this = this, + t1 = _this.executorId; + if (t1 != null) + return _this.method.toString$0(0) + ": " + _this.sql + " with " + A.S(_this.args) + " (@" + A.S(t1) + ")"; + return _this.method.toString$0(0) + ": " + _this.sql + " with " + A.S(_this.args); + } + }; + A.RequestCancellation.prototype = { + toString$0(_) { + return "Cancel previous request " + this.originalRequestId; + } + }; + A.ExecuteBatchedStatement.prototype = {}; + A.TransactionControl.prototype = { + _enumToString$0() { + return "TransactionControl." + this._name; + } + }; + A.RunTransactionAction.prototype = { + toString$0(_) { + return "RunTransactionAction(" + this.control.toString$0(0) + ", " + A.S(this.executorId) + ")"; + } + }; + A.EnsureOpen.prototype = { + toString$0(_) { + return "EnsureOpen(" + this.schemaVersion + ", " + A.S(this.executorId) + ")"; + } + }; + A.ServerInfo.prototype = { + toString$0(_) { + return "ServerInfo(" + this.dialect.toString$0(0) + ")"; + } + }; + A.RunBeforeOpen.prototype = { + toString$0(_) { + return "RunBeforeOpen(" + this.details.toString$0(0) + ", " + this.createdExecutor + ")"; + } + }; + A.NotifyTablesUpdated.prototype = { + toString$0(_) { + return "NotifyTablesUpdated(" + A.S(this.updates) + ")"; + } + }; + A.SelectResult.prototype = {}; + A.ServerImplementation.prototype = { + ServerImplementation$3(connection, allowRemoteShutdown, closeExecutorWhenShutdown) { + this._done.future.then$1$1(new A.ServerImplementation_closure(this), type$.Null); + }, + serve$1(channel) { + var comm, t1, _this = this; + if (_this._isShuttingDown) + throw A.wrapException(A.StateError$("Cannot add new channels after shutdown() was called")); + comm = A.DriftCommunication$(channel, false, true); + comm.setRequestHandler$1(new A.ServerImplementation_serve_closure(_this, comm)); + t1 = _this.connection.get$dialect(); + comm._send$1(new A.Request(comm.newRequestId$0(), new A.ServerInfo(t1))); + _this._activeChannels.add$1(0, comm); + comm._closeCompleter.future.then$1$1(new A.ServerImplementation_serve_closure0(_this, comm), type$.bool); + }, + _closeRemainingConnections$0() { + var t1, t2, t3; + for (t1 = this._activeChannels, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + (t3 == null ? t2._as(t3) : t3).close$0(0); + } + }, + _handleRequest$2(comms, request) { + var t1, token, _this = this, + payload = request.payload; + if (payload instanceof A.NoArgsRequest) + switch (payload.index) { + case 0: + if (_this.allowRemoteShutdown) { + _this._backlogUpdated.close$0(0); + if (!_this._isShuttingDown) { + _this._isShuttingDown = true; + t1 = _this.connection.close$0(0); + _this._done.complete$1(0, t1); + } + } else + throw A.wrapException(A.StateError$("Remote shutdowns not allowed")); + break; + } + else if (payload instanceof A.EnsureOpen) + return _this._handleEnsureOpen$2(comms, payload); + else if (payload instanceof A.ExecuteQuery) { + token = A.runCancellable(new A.ServerImplementation__handleRequest_closure(_this, payload), type$.dynamic); + _this._cancellableOperations.$indexSet(0, request.id, token); + return token._resultCompleter.future.whenComplete$1(new A.ServerImplementation__handleRequest_closure0(_this, request)); + } else if (payload instanceof A.ExecuteBatchedStatement) + return _this._runBatched$2(payload.stmts, payload.executorId); + else if (payload instanceof A.NotifyTablesUpdated) { + _this._tableUpdateNotifications.add$1(0, payload); + _this.dispatchTableUpdateNotification$2(payload, comms); + } else if (payload instanceof A.RunTransactionAction) + return _this._transactionControl$3(comms, payload.control, payload.executorId); + else if (payload instanceof A.RequestCancellation) { + t1 = _this._cancellableOperations.$index(0, payload.originalRequestId); + if (t1 != null) + t1.cancel$0(0); + return null; + } + }, + _handleEnsureOpen$2(comms, $open) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$self = this, executor, t1; + var $async$_handleEnsureOpen$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1($open.executorId), $async$_handleEnsureOpen$2); + case 3: + // returning from await. + executor = $async$result; + t1 = $open.schemaVersion; + $async$self._knownSchemaVersion = t1; + $async$goto = 4; + return A._asyncAwait(executor.ensureOpen$1(new A._ServerDbUser($async$self, comms, t1)), $async$_handleEnsureOpen$2); + case 4: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_handleEnsureOpen$2, $async$completer); + }, + _runQuery$4(method, sql, args, transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$returnValue, $async$self = this, executor, $async$temp1; + var $async$_runQuery$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(transactionId), $async$_runQuery$4); + case 3: + // returning from await. + executor = $async$result; + $async$goto = 4; + return A._asyncAwait(A.Future_Future$delayed(B.C_Duration, type$.void), $async$_runQuery$4); + case 4: + // returning from await. + A.checkIfCancelled(); + case 5: + // switch + switch (method.index) { + case 0: + // goto case + $async$goto = 7; + break; + case 1: + // goto case + $async$goto = 8; + break; + case 2: + // goto case + $async$goto = 9; + break; + case 3: + // goto case + $async$goto = 10; + break; + default: + // goto after switch + $async$goto = 6; + break; + } + break; + case 7: + // case + $async$returnValue = executor.runCustom$2(sql, args); + // goto return + $async$goto = 1; + break; + case 8: + // case + $async$returnValue = executor.runDelete$2(sql, args); + // goto return + $async$goto = 1; + break; + case 9: + // case + $async$returnValue = executor.runInsert$2(sql, args); + // goto return + $async$goto = 1; + break; + case 10: + // case + $async$temp1 = A; + $async$goto = 11; + return A._asyncAwait(executor.runSelect$2(sql, args), $async$_runQuery$4); + case 11: + // returning from await. + $async$returnValue = new $async$temp1.SelectResult($async$result); + // goto return + $async$goto = 1; + break; + case 6: + // after switch + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_runQuery$4, $async$completer); + }, + _runBatched$2(stmts, transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$_runBatched$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(transactionId), $async$_runBatched$2); + case 3: + // returning from await. + $async$goto = 2; + return A._asyncAwait($async$result.runBatched$1(stmts), $async$_runBatched$2); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runBatched$2, $async$completer); + }, + _loadExecutor$1(transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryExecutor), + $async$returnValue, $async$self = this, t1; + var $async$_loadExecutor$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._waitForTurn$1(transactionId), $async$_loadExecutor$1); + case 3: + // returning from await. + if (transactionId != null) { + t1 = $async$self._managedExecutors.$index(0, transactionId); + t1.toString; + } else + t1 = $async$self.connection; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_loadExecutor$1, $async$completer); + }, + _spawnTransaction$2(comm, executor) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, transaction, id; + var $async$_spawnTransaction$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(executor), $async$_spawnTransaction$2); + case 3: + // returning from await. + transaction = $async$result.beginTransaction$0(); + id = $async$self._putExecutor$2$beforeCurrent(transaction, true); + $async$goto = 4; + return A._asyncAwait(transaction.ensureOpen$1(new A._ServerDbUser($async$self, comm, $async$self._knownSchemaVersion)), $async$_spawnTransaction$2); + case 4: + // returning from await. + $async$returnValue = id; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_spawnTransaction$2, $async$completer); + }, + _putExecutor$2$beforeCurrent(executor, beforeCurrent) { + var t2, t3, + t1 = this._currentExecutorId++; + this._managedExecutors.$indexSet(0, t1, executor); + t2 = this._executorBacklog; + t3 = t2.length; + if (t3 !== 0) + B.JSArray_methods.insert$2(t2, 0, t1); + else + B.JSArray_methods.add$1(t2, t1); + return t1; + }, + _transactionControl$3(comm, action, executorId) { + return this._transactionControl$body$ServerImplementation(comm, action, executorId); + }, + _transactionControl$body$ServerImplementation(comm, action, executorId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, executor; + var $async$_transactionControl$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = action === B.TransactionControl_0 ? 3 : 4; + break; + case 3: + // then + $async$goto = 5; + return A._asyncAwait($async$self._spawnTransaction$2(comm, executorId), $async$_transactionControl$3); + case 5: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 4: + // join + executor = $async$self._managedExecutors.$index(0, executorId); + if (!type$.TransactionExecutor._is(executor)) + throw A.wrapException(A.ArgumentError$value(executorId, "transactionId", "Does not reference a transaction. This might happen if you don't await all operations made inside a transaction, in which case the transaction might complete with pending operations.")); + case 6: + // switch + switch (action.index) { + case 1: + // goto case + $async$goto = 8; + break; + case 2: + // goto case + $async$goto = 9; + break; + default: + // goto default + $async$goto = 10; + break; + } + break; + case 8: + // case + $async$goto = 11; + return A._asyncAwait(J.send$0$z(executor), $async$_transactionControl$3); + case 11: + // returning from await. + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto after switch + $async$goto = 7; + break; + case 9: + // case + $async$handler = 12; + $async$goto = 15; + return A._asyncAwait(executor.rollback$0(), $async$_transactionControl$3); + case 15: + // returning from await. + $async$next.push(14); + // goto finally + $async$goto = 13; + break; + case 12: + // uncaught + $async$next = [2]; + case 13: + // finally + $async$handler = 2; + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 14: + // after finally + // goto after switch + $async$goto = 7; + break; + case 10: + // default + A.assertThrow("Unknown TransactionControl"); + case 7: + // after switch + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_transactionControl$3, $async$completer); + }, + _releaseExecutor$1(id) { + var t1; + this._managedExecutors.remove$1(0, id); + B.JSArray_methods.remove$1(this._executorBacklog, id); + t1 = this._backlogUpdated; + if ((t1._state & 4) === 0) + t1.add$1(0, null); + }, + _waitForTurn$1(transactionId) { + var t2, + t1 = new A.ServerImplementation__waitForTurn_idIsActive(this, transactionId); + if (A.boolConversionCheck(t1.call$0())) + return A.Future_Future$value(null, type$.void); + t2 = this._backlogUpdated; + return new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).firstWhere$1(0, new A.ServerImplementation__waitForTurn_closure(t1)); + }, + dispatchTableUpdateNotification$2(notification, source) { + var t1, t2, t3; + for (t1 = this._activeChannels, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + if (t3 == null) + t3 = t2._as(t3); + if (t3 !== source) + t3._send$1(new A.Request(t3._currentRequestId++, notification)); + } + }, + $isDriftServer: 1 + }; + A.ServerImplementation_closure.prototype = { + call$1(_) { + var t1 = this.$this; + t1._closeRemainingConnections$0(); + t1._tableUpdateNotifications.close$0(0); + }, + $signature: 43 + }; + A.ServerImplementation_serve_closure.prototype = { + call$1(request) { + return this.$this._handleRequest$2(this.comm, request); + }, + $signature: 44 + }; + A.ServerImplementation_serve_closure0.prototype = { + call$1(_) { + return this.$this._activeChannels.remove$1(0, this.comm); + }, + $signature: 26 + }; + A.ServerImplementation__handleRequest_closure.prototype = { + call$0() { + var t1 = this.payload; + return this.$this._runQuery$4(t1.method, t1.sql, t1.args, t1.executorId); + }, + $signature: 46 + }; + A.ServerImplementation__handleRequest_closure0.prototype = { + call$0() { + return this.$this._cancellableOperations.remove$1(0, this.request.id); + }, + $signature: 47 + }; + A.ServerImplementation__waitForTurn_idIsActive.prototype = { + call$0() { + var t2, + t1 = this.transactionId; + if (t1 == null) + return this.$this._executorBacklog.length === 0; + else { + t2 = this.$this._executorBacklog; + return t2.length !== 0 && B.JSArray_methods.get$first(t2) === t1; + } + }, + $signature: 23 + }; + A.ServerImplementation__waitForTurn_closure.prototype = { + call$1(_) { + return this.idIsActive.call$0(); + }, + $signature: 26 + }; + A._ServerDbUser.prototype = { + beforeOpen$2(executor, details) { + return this.beforeOpen$body$_ServerDbUser(executor, details); + }, + beforeOpen$body$_ServerDbUser(executor, details) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t1, id; + var $async$beforeOpen$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._server; + id = t1._putExecutor$2$beforeCurrent(executor, true); + $async$handler = 2; + $async$goto = 5; + return A._asyncAwait($async$self.connection.request$1$1(0, new A.RunBeforeOpen(details, id), type$.void), $async$beforeOpen$2); + case 5: + // returning from await. + $async$next.push(4); + // goto finally + $async$goto = 3; + break; + case 2: + // uncaught + $async$next = [1]; + case 3: + // finally + $async$handler = 1; + t1._releaseExecutor$1(id); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 4: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$beforeOpen$2, $async$completer); + }, + $isQueryExecutorUser: 1 + }; + A.DatabaseConnection.prototype = { + beginTransaction$0() { + return this.executor.beginTransaction$0(); + }, + close$0(_) { + return this.executor.close$0(0); + }, + get$dialect() { + return this.executor.get$dialect(); + }, + ensureOpen$1(user) { + return this.executor.ensureOpen$1(user); + }, + runBatched$1(statements) { + return this.executor.runBatched$1(statements); + }, + runCustom$2(statement, args) { + return this.executor.runCustom$2(statement, args); + }, + runDelete$2(statement, args) { + return this.executor.runDelete$2(statement, args); + }, + runInsert$2(statement, args) { + return this.executor.runInsert$2(statement, args); + }, + runSelect$2(statement, args) { + return this.executor.runSelect$2(statement, args); + }, + $isQueryExecutor: 1 + }; + A.DatabaseConnection_DatabaseConnection$delayed_closure1.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryExecutor), + $async$returnValue, $async$self = this; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self.connection, $async$call$0); + case 3: + // returning from await. + $async$returnValue = $async$result.executor; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 48 + }; + A.DatabaseConnection_DatabaseConnection$delayed_closure.prototype = { + call$1(conn) { + return type$.DatabaseConnection._as(conn).streamQueries; + }, + $signature: 49 + }; + A.DatabaseConnection_DatabaseConnection$delayed_closure0.prototype = { + call$1(c) { + return type$.DatabaseConnection._as(c).connectionData; + }, + $signature: 50 + }; + A.UpdateKind.prototype = { + _enumToString$0() { + return "UpdateKind." + this._name; + } + }; + A.TableUpdate.prototype = { + get$hashCode(_) { + return A.Object_hash(this.kind, this.table, B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.TableUpdate && other.kind == this.kind && other.table === this.table; + }, + toString$0(_) { + return "TableUpdate(" + this.table + ", kind: " + A.S(this.kind) + ")"; + } + }; + A.runCancellable_closure.prototype = { + call$0() { + return this.token._resultCompleter.complete$1(0, A.Future_Future$sync(this.operation, this.T)); + }, + $signature: 0 + }; + A.CancellationToken.prototype = { + cancel$0(_) { + var t1, t2, _i; + if (this._cancellationRequested) + return; + for (t1 = this._cancellationCallbacks, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) + t1[_i].call$0(); + this._cancellationRequested = true; + } + }; + A.CancellationException.prototype = { + toString$0(_) { + return "Operation was cancelled"; + } + }; + A.DelayedStreamQueryStore.prototype = { + DelayedStreamQueryStore$1(delegate) { + this.set$__DelayedStreamQueryStore__delegate_A(type$.Future_StreamQueryStore._as(delegate.then$1$1(new A.DelayedStreamQueryStore_closure(this), type$.StreamQueryStore))); + }, + set$__DelayedStreamQueryStore__delegate_A(__DelayedStreamQueryStore__delegate_A) { + type$.Future_StreamQueryStore._as(__DelayedStreamQueryStore__delegate_A); + }, + $isStreamQueryStore: 1 + }; + A.DelayedStreamQueryStore_closure.prototype = { + call$1(value) { + return type$.StreamQueryStore._as(value); + }, + $signature: 51 + }; + A.QueryExecutor.prototype = { + close$0(_) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void); + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.BatchedStatements.prototype = { + get$hashCode(_) { + return A.Object_hash(B.C_ListEquality.hash$1(0, this.statements), B.C_ListEquality.hash$1(0, this.$arguments), B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.BatchedStatements && B.C_ListEquality.equals$2(other.statements, this.statements) && B.C_ListEquality.equals$2(other.$arguments, this.$arguments); + }, + toString$0(_) { + var t1 = this.statements; + return "BatchedStatements(" + t1.toString$0(t1) + ", " + A.S(this.$arguments) + ")"; + } + }; + A.ArgumentsForBatchedStatement.prototype = { + get$hashCode(_) { + return A.Object_hash(this.statementIndex, B.C_ListEquality, B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.ArgumentsForBatchedStatement && other.statementIndex === this.statementIndex && B.C_ListEquality.equals$2(other.$arguments, this.$arguments); + }, + toString$0(_) { + return "ArgumentsForBatchedStatement(" + this.statementIndex + ", " + A.S(this.$arguments) + ")"; + } + }; + A.DatabaseDelegate.prototype = {}; + A.QueryDelegate.prototype = {}; + A.TransactionDelegate.prototype = {}; + A.NoTransactionDelegate.prototype = {}; + A.DbVersionDelegate.prototype = {}; + A.DynamicVersionDelegate.prototype = {}; + A._BaseExecutor.prototype = { + get$isSequential() { + return false; + }, + get$logStatements() { + return false; + }, + _debugCheckIsOpen$0() { + if (!this._ensureOpenCalled) + throw A.wrapException(A.StateError$("Tried to run an operation without first calling QueryExecutor.ensureOpen()!\n\nIf you're seeing this exception from a drift database, it may indicate a bug in\ndrift itself. Please consider opening an issue with the stack trace and details\non how to reproduce this.")); + if (this._engines$_closed) + throw A.wrapException(A.StateError$("This database or transaction runner has already been closed and may not be used\nanymore.\n\nIf this is happening in a transaction, you might be using the transaction \nwithout awaiting every statement in it.")); + return true; + }, + _synchronized$1$1(action, $T) { + $T._eval$1("Future<0>()")._as(action); + if (this.get$isSequential() || this._waitingTransactions > 0) + return this._lock.synchronized$1$1(new A._BaseExecutor__synchronized_closure(action, $T), $T); + else + return action.call$0(); + }, + _log$2(sql, args) { + this.get$logStatements(); + }, + runSelect$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.List_Map_of_String_and_nullable_Object), + $async$returnValue, $async$self = this, result, t1; + var $async$runSelect$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._synchronized$1$1(new A._BaseExecutor_runSelect_closure($async$self, statement, args), type$.QueryResult), $async$runSelect$2); + case 3: + // returning from await. + result = $async$result; + t1 = result.get$asMap(result); + $async$returnValue = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runSelect$2, $async$completer); + }, + runDelete$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runDelete_closure(this, statement, args), type$.int); + }, + runInsert$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runInsert_closure(this, statement, args), type$.int); + }, + runCustom$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runCustom_closure(this, args, statement), type$.void); + }, + runCustom$1(statement) { + return this.runCustom$2(statement, null); + }, + runBatched$1(statements) { + return this._synchronized$1$1(new A._BaseExecutor_runBatched_closure(this, statements), type$.void); + } + }; + A._BaseExecutor__synchronized_closure.prototype = { + call$0() { + A.checkIfCancelled(); + return this.action.call$0(); + }, + $signature() { + return this.T._eval$1("Future<0>()"); + } + }; + A._BaseExecutor_runSelect_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runSelect$2(t2, t3); + }, + $signature: 52 + }; + A._BaseExecutor_runDelete_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runUpdate$2(t2, t3); + }, + $signature: 25 + }; + A._BaseExecutor_runInsert_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runInsert$2(t2, t3); + }, + $signature: 25 + }; + A._BaseExecutor_runCustom_closure.prototype = { + call$0() { + var resolvedArgs, t2, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + resolvedArgs = this.args; + if (resolvedArgs == null) + resolvedArgs = B.List_empty; + t2 = this.statement; + t1._log$2(t2, resolvedArgs); + return t1.get$impl().runCustom$2(t2, resolvedArgs); + }, + $signature: 3 + }; + A._BaseExecutor_runBatched_closure.prototype = { + call$0() { + var t1 = this.$this; + t1._debugCheckIsOpen$0(); + t1.get$logStatements(); + return t1.get$impl().runBatched$1(this.statements); + }, + $signature: 3 + }; + A._TransactionExecutor.prototype = { + _checkCanOpen$0() { + this._ensureOpenCalled = true; + if (this._engines$_closed) + throw A.wrapException(A.StateError$("A tranaction was used after being closed. Please check that you're awaiting all database operations inside a `transaction` block.")); + }, + beginTransaction$0() { + throw A.wrapException(A.UnsupportedError$("Nested transactions aren't supported.")); + }, + get$dialect() { + return B.SqlDialect_0; + }, + get$logStatements() { + return false; + }, + get$isSequential() { + return true; + }, + $isTransactionExecutor: 1 + }; + A._StatementBasedTransactionExecutor.prototype = { + ensureOpen$1(user) { + var opened, $parent, _this = this; + _this._checkCanOpen$0(); + opened = _this._opened; + if (opened == null) { + opened = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool); + _this.set$_opened(opened); + $parent = _this._parent; + if ($parent == null) + $parent = _this._db; + ++$parent._waitingTransactions; + $parent._synchronized$1$1(new A._StatementBasedTransactionExecutor_ensureOpen_closure(_this), type$.Null).whenComplete$1(new A._StatementBasedTransactionExecutor_ensureOpen_closure0($parent)); + } + return opened.future; + }, + get$impl() { + return this._db.delegate; + }, + beginTransaction$0() { + var ownDepth, t1, _this = this, + ancestor = _this._parent; + for (ownDepth = 0; ancestor != null;) { + ++ownDepth; + ancestor = ancestor._parent; + } + t1 = "" + ownDepth; + return new A._StatementBasedTransactionExecutor(_this._engines$_delegate, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), _this, "SAVEPOINT s" + t1, "RELEASE s" + t1, "ROLLBACK TO s" + t1, _this._db, new A.Lock()); + }, + send$0(_) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this; + var $async$send$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._ensureOpenCalled) { + // goto return + $async$goto = 1; + break; + } + $async$goto = 3; + return A._asyncAwait($async$self.runCustom$2($async$self._commitCommand, B.List_empty), $async$send$0); + case 3: + // returning from await. + $async$self._afterCommitOrRollback$0(); + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$send$0, $async$completer); + }, + rollback$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this; + var $async$rollback$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._ensureOpenCalled) { + // goto return + $async$goto = 1; + break; + } + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self.runCustom$2($async$self._rollbackCommand, B.List_empty), $async$rollback$0); + case 6: + // returning from await. + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + $async$self._afterCommitOrRollback$0(); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$rollback$0, $async$completer); + }, + _afterCommitOrRollback$0() { + var _this = this; + if (_this._parent == null) + _this._db.delegate.isInTransaction = false; + _this._engines$_done.complete$0(0); + _this._engines$_closed = true; + }, + set$_opened(_opened) { + this._opened = type$.nullable_Completer_bool._as(_opened); + } + }; + A._StatementBasedTransactionExecutor_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$handler = 1, $async$currentError, $async$self = this, e, s, t1, exception, $async$exception; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 3; + t1 = $async$self.$this; + $async$goto = 6; + return A._asyncAwait(t1.runCustom$1(t1._startCommand), $async$call$0); + case 6: + // returning from await. + t1._db.delegate.isInTransaction = true; + t1._opened.complete$1(0, true); + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + $async$self.$this._opened.completeError$2(e, s); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + $async$goto = 7; + return A._asyncAwait($async$self.$this._engines$_done.future, $async$call$0); + case 7: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 27 + }; + A._StatementBasedTransactionExecutor_ensureOpen_closure0.prototype = { + call$0() { + return this.parent._waitingTransactions--; + }, + $signature: 24 + }; + A.DelegatedDatabase.prototype = { + get$impl() { + return this.delegate; + }, + get$dialect() { + return B.SqlDialect_0; + }, + ensureOpen$1(user) { + return this._openingLock.synchronized$1$1(new A.DelegatedDatabase_ensureOpen_closure(this, user), type$.bool); + }, + _runMigrations$1(user) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, currentVersion, oldVersion, t1; + var $async$_runMigrations$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.delegate.__Sqlite3Delegate_versionDelegate_A; + t1 === $ && A.throwLateFieldNI("versionDelegate"); + currentVersion = user.schemaVersion; + $async$goto = 2; + return A._asyncAwait(A.Future_Future$value(t1.database.get$userVersion(), type$.int), $async$_runMigrations$1); + case 2: + // returning from await. + oldVersion = $async$result; + if (oldVersion === 0) + oldVersion = null; + A.assertHelper(oldVersion !== 0); + $async$goto = 3; + return A._asyncAwait(user.beforeOpen$2(new A._BeforeOpeningExecutor($async$self, new A.Lock()), new A.OpeningDetails(oldVersion, currentVersion)), $async$_runMigrations$1); + case 3: + // returning from await. + $async$goto = oldVersion !== currentVersion ? 4 : 5; + break; + case 4: + // then + t1.database.execute$1("PRAGMA user_version = " + currentVersion + ";"); + $async$goto = 6; + return A._asyncAwait(A.Future_Future$value(null, type$.void), $async$_runMigrations$1); + case 6: + // returning from await. + case 5: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runMigrations$1, $async$completer); + }, + beginTransaction$0() { + var t1 = $.Zone__current; + return new A._StatementBasedTransactionExecutor(B.C_NoTransactionDelegate, new A._AsyncCompleter(new A._Future(t1, type$._Future_void), type$._AsyncCompleter_void), null, "BEGIN TRANSACTION", "COMMIT TRANSACTION", "ROLLBACK TRANSACTION", this, new A.Lock()); + }, + close$0(_) { + return this._openingLock.synchronized$1$1(new A.DelegatedDatabase_close_closure(this), type$.void); + }, + get$logStatements() { + return this.logStatements; + }, + get$isSequential() { + return this.isSequential; + } + }; + A.DelegatedDatabase_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$self = this, t2, t3, t1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + if (t1._engines$_closed) { + $async$returnValue = A.Future_Future$error(new A.StateError("Can't re-open a database after closing it. Please create a new database connection and open that instead."), null, type$.bool); + // goto return + $async$goto = 1; + break; + } + t2 = t1.delegate; + $async$goto = 3; + return A._asyncAwait(A.Future_Future$value(t2._isOpen, type$.bool), $async$call$0); + case 3: + // returning from await. + if ($async$result) { + $async$returnValue = t1._ensureOpenCalled = true; + // goto return + $async$goto = 1; + break; + } + t3 = $async$self.user; + $async$goto = 4; + return A._asyncAwait(t2.open$1(0, t3), $async$call$0); + case 4: + // returning from await. + t1._ensureOpenCalled = true; + $async$goto = 5; + return A._asyncAwait(t1._runMigrations$1(t3), $async$call$0); + case 5: + // returning from await. + $async$returnValue = true; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 56 + }; + A.DelegatedDatabase_close_closure.prototype = { + call$0() { + var t1 = this.$this; + if (t1._ensureOpenCalled && !t1._engines$_closed) { + t1._engines$_closed = true; + t1._ensureOpenCalled = false; + return t1.delegate.close$0(0); + } else + return A.Future_Future$value(null, type$.void); + }, + $signature: 3 + }; + A._BeforeOpeningExecutor.prototype = { + beginTransaction$0() { + return this._base.beginTransaction$0(); + }, + ensureOpen$1(_) { + this._ensureOpenCalled = true; + return A.Future_Future$value(true, type$.bool); + }, + get$impl() { + return this._base.delegate; + }, + get$logStatements() { + return false; + }, + get$dialect() { + return B.SqlDialect_0; + } + }; + A.QueryResult.prototype = { + get$asMap(_) { + var t1 = this.rows, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("Map(1)")._as(new A.QueryResult_asMap_closure(this)), t2._eval$1("MappedListIterable<1,Map>")); + } + }; + A.QueryResult_asMap_closure.prototype = { + call$1(row) { + var t1, t2, t3, t4, t5, _i, column, t6; + type$.List_nullable_Object._as(row); + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic); + for (t2 = this.$this, t3 = t2.columnNames, t4 = t3.length, t2 = t2._columnIndexes, t5 = J.getInterceptor$asx(row), _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) { + column = t3[_i]; + t6 = t2.$index(0, column); + t6.toString; + t1.$indexSet(0, column, t5.$index(row, t6)); + } + return t1; + }, + $signature: 57 + }; + A.StreamQueryStore.prototype = {}; + A.OpeningDetails.prototype = {}; + A.SqlDialect.prototype = { + _enumToString$0() { + return "SqlDialect." + this._name; + } + }; + A.Sqlite3Delegate.prototype = { + open$1(_, db) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, exception; + var $async$open$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._hasInitializedDatabase) { + A.assertHelper($async$self._database == null); + $async$self.set$_database($async$self.openDatabase$0()); + try { + A.assertHelper(!$async$self._hasInitializedDatabase); + t1 = $async$self._database; + t1.toString; + A.EnableNativeFunctions_useNativeFunctions(t1); + t1 = $async$self._database; + t1.toString; + $async$self.__Sqlite3Delegate_versionDelegate_A = new A._SqliteVersionDelegate(t1); + $async$self._hasInitializedDatabase = true; + } catch (exception) { + t1 = $async$self._database; + if (t1 != null) + t1.dispose$0(); + $async$self.set$_database(null); + $async$self._preparedStmtsCache._cachedStatements.clear$0(0); + throw exception; + } + } + $async$self._isOpen = true; + $async$returnValue = A.Future_Future$value(null, type$.void); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$open$1, $async$completer); + }, + close$0(_) { + return A.Future_Future(this._preparedStmtsCache.get$disposeAll(), type$.void); + }, + runBatchSync$1(statements) { + var stmt, application, stmt0, stmt1, t1, t2, t3, _i, t4, t5, t6, + prepared = A._setArrayType([], type$.JSArray_CommonPreparedStatement); + try { + for (t1 = statements.statements, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { + t3 = t1.__internal$_current; + stmt = t3 == null ? t2._as(t3) : t3; + J.add$1$ax(prepared, this._database.prepare$2$checkNoTail(stmt, true)); + } + for (t1 = statements.$arguments, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + application = t1[_i]; + stmt0 = J.$index$asx(prepared, application.statementIndex); + t3 = stmt0; + t4 = application.$arguments; + t5 = t3.finalizable; + if (t5._statement$_closed) + A.throwExpression(A.StateError$(string$.Tried_)); + if (!t5._inResetState) { + t6 = t5.statement; + A._asInt(t6.bindings._sqlite3_reset.call$1(t6.stmt)); + t5._inResetState = true; + } + t5.statement.deallocateArguments$0(); + t3._bindParams$1(t4); + t3._execute$0(); + } + } finally { + for (t1 = prepared, t2 = t1.length, t3 = type$.StatementImplementation, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt1 = t1[_i]; + t4 = stmt1; + t5 = t4.finalizable; + if (!t5._statement$_closed) { + $.$get$disposeFinalizer()._registry.unregister(t4); + if (!t5._statement$_closed) { + t5._statement$_closed = true; + if (!t5._inResetState) { + t6 = t5.statement; + A._asInt(t6.bindings._sqlite3_reset.call$1(t6.stmt)); + t5._inResetState = true; + } + t6 = t5.statement; + t6.deallocateArguments$0(); + A._asInt(t6.bindings._sqlite3_finalize.call$1(t6.stmt)); + } + t6 = t4.database; + t3._as(t4); + if (!t6._isClosed) + B.JSArray_methods.remove$1(t6.finalizable._statements, t5); + } + } + } + }, + runSelect$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryResult), + $async$returnValue, $async$self = this, result; + var $async$runSelect$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + result = $async$self._getPreparedStatement$1(statement).select$1(0, args); + $async$returnValue = A.QueryResult_QueryResult$fromRows(result.toList$0(result)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runSelect$2, $async$completer); + }, + _getPreparedStatement$1(sql) { + var stmt, + t1 = this._preparedStmtsCache._cachedStatements, + foundStatement = t1.remove$1(0, sql), + t2 = foundStatement != null; + if (t2) + t1.$indexSet(0, sql, foundStatement); + if (t2) + return foundStatement; + stmt = this._database.prepare$2$checkNoTail(sql, true); + A.assertHelper(!t1.containsKey$1(0, sql)); + if (t1._length === 64) { + t2 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")); + t2 = t1.remove$1(0, t2.get$first(t2)); + t2.toString; + t2.dispose$0(); + } + t1.$indexSet(0, sql, stmt); + return stmt; + }, + set$_database(_database) { + this._database = A._instanceType(this)._eval$1("Sqlite3Delegate.0?")._as(_database); + } + }; + A._SqliteVersionDelegate.prototype = {}; + A.PreparedStatementsCache.prototype = { + disposeAll$0() { + var t1, t2, t3, t4, t5, t6; + for (t1 = this._cachedStatements, t2 = t1.get$values(t1), t3 = A._instanceType(t2), t3 = t3._eval$1("@<1>")._bind$1(t3._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(t2.__internal$_iterable), t2._f, t3._eval$1("MappedIterator<1,2>")), t3 = t3._rest[1]; t2.moveNext$0();) { + t4 = t2.__internal$_current; + if (t4 == null) + t4 = t3._as(t4); + t5 = t4.finalizable; + if (!t5._statement$_closed) { + $.$get$disposeFinalizer()._registry.unregister(t4); + if (!t5._statement$_closed) { + t5._statement$_closed = true; + if (!t5._inResetState) { + t6 = t5.statement; + A._asInt(t6.bindings._sqlite3_reset.call$1(t6.stmt)); + t5._inResetState = true; + } + t6 = t5.statement; + t6.deallocateArguments$0(); + A._asInt(t6.bindings._sqlite3_finalize.call$1(t6.stmt)); + } + t4 = t4.database; + if (!t4._isClosed) + B.JSArray_methods.remove$1(t4.finalizable._statements, t5); + } + } + t1.clear$0(0); + } + }; + A.EnableNativeFunctions_useNativeFunctions_closure.prototype = { + call$1(args) { + return Date.now(); + }, + $signature: 58 + }; + A._unaryNumFunction_closure.prototype = { + call$1(args) { + var value = args.$index(0, 0); + if (typeof value == "number") + return this.calculation.call$1(value); + else + return null; + }, + $signature: 22 + }; + A.LazyDatabase.prototype = { + get$_lazy_database$_delegate() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1; + }, + get$dialect() { + var t1, _this = this; + if (_this._delegateAvailable) { + t1 = _this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + t1 = _this._dialect !== t1.get$dialect(); + } else + t1 = false; + if (t1) + throw A.wrapException(A.Exception_Exception("LazyDatabase created with " + _this._dialect.toString$0(0) + ", but underlying database is " + _this.get$_lazy_database$_delegate().get$dialect().toString$0(0) + ".")); + return _this._dialect; + }, + _awaitOpened$0() { + var t1, delegate, _this = this; + if (_this._delegateAvailable) + return A.Future_Future$value(null, type$.void); + else { + t1 = _this._openDelegate; + if (t1 != null) + return t1.future; + else { + t1 = new A._Future($.Zone__current, type$._Future_void); + delegate = _this._openDelegate = new A._AsyncCompleter(t1, type$._AsyncCompleter_void); + A.Future_Future$sync(_this.opener, type$.QueryExecutor).then$1$2$onError(new A.LazyDatabase__awaitOpened_closure(_this, delegate), delegate.get$completeError(), type$.Null); + return t1; + } + } + }, + beginTransaction$0() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.beginTransaction$0(); + }, + ensureOpen$1(user) { + return this._awaitOpened$0().then$1$1(new A.LazyDatabase_ensureOpen_closure(this, user), type$.bool); + }, + runBatched$1(statements) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runBatched$1(statements); + }, + runCustom$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runCustom$2(statement, args); + }, + runDelete$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runDelete$2(statement, args); + }, + runInsert$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runInsert$2(statement, args); + }, + runSelect$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runSelect$2(statement, args); + }, + close$0(_) { + var t1; + if (this._delegateAvailable) { + t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.close$0(0); + } else + return A.Future_Future$value(null, type$.void); + } + }; + A.LazyDatabase__awaitOpened_closure.prototype = { + call$1(database) { + var t1; + type$.QueryExecutor._as(database); + t1 = this.$this; + t1.__LazyDatabase__delegate_F !== $ && A.throwLateFieldAI("_delegate"); + t1.__LazyDatabase__delegate_F = database; + t1._delegateAvailable = true; + this.delegate.complete$0(0); + }, + $signature: 60 + }; + A.LazyDatabase_ensureOpen_closure.prototype = { + call$1(_) { + var t1 = this.$this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.ensureOpen$1(this.user); + }, + $signature: 61 + }; + A.Lock.prototype = { + synchronized$1$1(block, $T) { + var previous, t1; + $T._eval$1("0/()")._as(block); + previous = this._synchronized$_last; + t1 = new A._Future($.Zone__current, type$._Future_void); + this._synchronized$_last = t1; + t1 = new A.Lock_synchronized_callBlockAndComplete(block, new A._AsyncCompleter(t1, type$._AsyncCompleter_void), $T); + if (previous != null) + return previous.then$1$1(new A.Lock_synchronized_closure(t1, $T), $T); + else + return t1.call$0(); + } + }; + A.Lock_synchronized_callBlockAndComplete.prototype = { + call$0() { + var t1 = this.blockCompleted; + return A.Future_Future$sync(this.block, this.T).whenComplete$1(type$.void_Function_$opt_void._as(t1.get$complete(t1))); + }, + $signature() { + return this.T._eval$1("Future<0>()"); + } + }; + A.Lock_synchronized_closure.prototype = { + call$1(_) { + return this.callBlockAndComplete.call$0(); + }, + $signature() { + return this.T._eval$1("Future<0>(~)"); + } + }; + A.PortToChannel_channel_closure.prototype = { + call$1($event) { + return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true); + }, + $signature: 21 + }; + A.WasmDatabase.prototype = {}; + A._WasmDelegate.prototype = { + openDatabase$0() { + var t1 = this._sqlite3.open$1(0, this._path); + return t1; + }, + _flush$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void); + var $async$_flush$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait(null, $async$_flush$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_flush$0, $async$completer); + }, + _runWithArgs$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$self = this; + var $async$_runWithArgs$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (args.length === 0) + $async$self._database.execute$1(statement); + else + $async$self._getPreparedStatement$1(statement).execute$1(args); + $async$goto = !$async$self.isInTransaction ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait($async$self._flush$0(), $async$_runWithArgs$2); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runWithArgs$2, $async$completer); + }, + runCustom$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$runCustom$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runCustom$2); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runCustom$2, $async$completer); + }, + runInsert$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1; + var $async$runInsert$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runInsert$2); + case 3: + // returning from await. + t1 = $async$self._database.database; + t1 = t1.bindings._sqlite3_last_insert_rowid.call$1(t1.db); + $async$returnValue = self.Number(t1 == null ? type$.Object._as(t1) : t1); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runInsert$2, $async$completer); + }, + runUpdate$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1; + var $async$runUpdate$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runUpdate$2); + case 3: + // returning from await. + t1 = $async$self._database.database; + $async$returnValue = A._asInt(t1.bindings._sqlite3_changes.call$1(t1.db)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runUpdate$2, $async$completer); + }, + runBatched$1(statements) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$runBatched$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$self.runBatchSync$1(statements); + $async$goto = !$async$self.isInTransaction ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait($async$self._flush$0(), $async$runBatched$1); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runBatched$1, $async$completer); + }, + close$0(_) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self.super$Sqlite3Delegate$close(0), $async$close$0); + case 2: + // returning from await. + $async$self._database.dispose$0(); + $async$goto = 3; + return A._asyncAwait($async$self._flush$0(), $async$close$0); + case 3: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.DriftWorkerMode.prototype = { + _enumToString$0() { + return "DriftWorkerMode." + this._name; + } + }; + A._RunningDriftWorker.prototype = { + start$0(_) { + var t2, + t1 = type$._EventStream_MessageEvent; + if (this.isShared) { + t1 = self; + t1.toString; + A._EventStreamSubscription$(t1, "connect", type$.nullable_void_Function_MessageEvent._as(this.get$_newConnection()), false, type$.MessageEvent); + } else { + t2 = self; + t2.toString; + new A._MapStream(t1._eval$1("@(Stream.T)")._as(new A._RunningDriftWorker_start_closure()), new A._EventStream(t2, "message", false, t1), t1._eval$1("_MapStream")).listen$1(this.get$_handleMessage()); + } + }, + _establishModeAndLaunchServer$1(mode) { + var server, _this = this; + _this._knownMode = mode; + server = _this._startedServer = A.ServerImplementation$(_this.connectionFactory.call$0(), mode === B.DriftWorkerMode_0, true); + server._done.future.whenComplete$1(new A._RunningDriftWorker__establishModeAndLaunchServer_closure(_this)); + return server; + }, + _newConnection$1($event) { + var t2, outgoingPort, originalChannel, t1 = {}; + type$.MessageEvent._as($event); + A.assertHelper(this.isShared); + t2 = $event.ports; + t2.toString; + outgoingPort = J.get$first$ax(t2); + originalChannel = A.PortToChannel_channel(outgoingPort); + t1.subscription = null; + t2 = originalChannel.__GuaranteeChannel__streamController_F; + t2 === $ && A.throwLateFieldNI("_streamController"); + t1.subscription = new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$1(new A._RunningDriftWorker__newConnection_closure(this, originalChannel, new A._RunningDriftWorker__newConnection_remainingChannel(t1, originalChannel), outgoingPort)); + }, + _handleMessage$1(message) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$self = this, server; + var $async$_handleMessage$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + A.assertHelper(!$async$self.isShared); + A.assertHelper($async$self._knownMode !== B.DriftWorkerMode_1); + if (type$.MessagePort._is(message)) { + server = $async$self._startedServer; + if (server == null) + server = $async$self._establishModeAndLaunchServer$1(B.DriftWorkerMode_0); + server.serve$1(A.PortToChannel_channel(message)); + } else + throw A.wrapException(A.StateError$("Received unknown message " + A.S(message) + ", expected a port")); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_handleMessage$1, $async$completer); + } + }; + A._RunningDriftWorker_start_closure.prototype = { + call$1(e) { + return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(e).data, true); + }, + $signature: 21 + }; + A._RunningDriftWorker__establishModeAndLaunchServer_closure.prototype = { + call$0() { + if (this.$this.isShared) { + var t1 = self; + t1.toString; + type$.SharedWorkerGlobalScope._as(t1).close(); + } else { + t1 = self; + t1.toString; + type$.DedicatedWorkerGlobalScope._as(t1).close(); + } + }, + $signature: 4 + }; + A._RunningDriftWorker__newConnection_remainingChannel.prototype = { + call$0() { + return this.originalChannel.changeStream$1(new A._RunningDriftWorker__newConnection_remainingChannel_closure(this._box_0)); + }, + $signature: 64 + }; + A._RunningDriftWorker__newConnection_remainingChannel_closure.prototype = { + call$1(_) { + var source = this._box_0.subscription; + source.pause$0(0); + source.onData$1(null); + source.onError$1(0, null); + source.onDone$1(null); + return new A.SubscriptionStream(source, type$.SubscriptionStream_nullable_Object); + }, + $signature: 65 + }; + A._RunningDriftWorker__newConnection_closure.prototype = { + call$1(first) { + var server, _this = this, _s5_ = "_sink", + expectedMode = A.EnumByName_byName(B.List_bQo, A._asString(first), type$.DriftWorkerMode), + t1 = _this.$this, + t2 = t1._knownMode; + if (t2 == null) + switch (expectedMode.index) { + case 0: + t1 = _this.originalChannel.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.add$1(0, false); + t1.close$0(0); + break; + case 1: + server = t1._establishModeAndLaunchServer$1(B.DriftWorkerMode_1); + t1 = _this.originalChannel.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.add$1(0, true); + server.serve$1(_this.remainingChannel.call$0()); + break; + case 2: + t1._knownMode = B.DriftWorkerMode_2; + t2 = new Worker(A.Uri_base().toString$0(0)); + t2.toString; + t1._dedicatedWorker = t2; + t1 = _this.outgoingPort; + B.MessagePort_methods.postMessage$1(t1, true); + B.Worker_methods.postMessage$2(t2, t1, A._setArrayType([t1], type$.JSArray_Object)); + t1 = _this.originalChannel.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.close$0(0); + break; + } + else if (t2 === expectedMode) { + t2 = _this.outgoingPort; + B.MessagePort_methods.postMessage$1(t2, true); + switch (t1._knownMode.index) { + case 0: + throw A.wrapException(A.AssertionError$(null)); + case 1: + t1 = t1._startedServer; + t1.toString; + t1.serve$1(_this.remainingChannel.call$0()); + break; + case 2: + t1 = t1._dedicatedWorker; + t1.toString; + B.Worker_methods.postMessage$2(t1, t2, A._setArrayType([t2], type$.JSArray_Object)); + t2 = _this.originalChannel.__GuaranteeChannel__sink_F; + t2 === $ && A.throwLateFieldNI(_s5_); + t2.close$0(0); + break; + } + } else { + t1 = _this.originalChannel.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.add$1(0, false); + t1.close$0(0); + } + }, + $signature: 6 + }; + A.Context.prototype = { + absolute$1(_, part1) { + var t2, parts, + t1 = type$.JSArray_nullable_String; + A._validateArgList("absolute", A._setArrayType([part1, null, null, null, null, null, null, null, null, null, null, null, null, null, null], t1)); + t2 = this.style; + t2 = t2.rootLength$1(part1) > 0 && !t2.isRootRelative$1(part1); + if (t2) + return part1; + parts = A._setArrayType([this._context$_current, part1, null, null, null, null, null, null, null, null, null, null, null, null, null, null], t1); + A._validateArgList("join", parts); + return this.joinAll$1(new A.WhereTypeIterable(parts, type$.WhereTypeIterable_String)); + }, + joinAll$1(parts) { + var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path, t6; + type$.Iterable_String._as(parts); + for (t1 = parts.$ti, t2 = t1._eval$1("bool(Iterable.E)")._as(new A.Context_joinAll_closure()), t3 = parts.get$iterator(parts), t1 = new A.WhereIterator(t3, t2, t1._eval$1("WhereIterator")), t2 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t1.moveNext$0();) { + t5 = t3.get$current(t3); + if (t2.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) { + parsed = A.ParsedPath_ParsedPath$parse(t5, t2); + path = t4.charCodeAt(0) == 0 ? t4 : t4; + t4 = B.JSString_methods.substring$2(path, 0, t2.rootLength$2$withDrive(path, true)); + parsed.root = t4; + if (t2.needsSeparator$1(t4)) + B.JSArray_methods.$indexSet(parsed.separators, 0, t2.get$separator()); + t4 = "" + parsed.toString$0(0); + } else if (t2.rootLength$1(t5) > 0) { + isAbsoluteAndNotRootRelative = !t2.isRootRelative$1(t5); + t4 = "" + t5; + } else { + t6 = t5.length; + if (t6 !== 0) { + if (0 >= t6) + return A.ioore(t5, 0); + t6 = t2.containsSeparator$1(t5[0]); + } else + t6 = false; + if (!t6) + if (needsSeparator) + t4 += t2.get$separator(); + t4 += t5; + } + needsSeparator = t2.needsSeparator$1(t5); + } + return t4.charCodeAt(0) == 0 ? t4 : t4; + } + }; + A.Context_joinAll_closure.prototype = { + call$1(part) { + return A._asString(part) !== ""; + }, + $signature: 66 + }; + A._validateArgList_closure.prototype = { + call$1(arg) { + A._asStringQ(arg); + return arg == null ? "null" : '"' + arg + '"'; + }, + $signature: 67 + }; + A.InternalStyle.prototype = { + getRoot$1(path) { + var t1, + $length = this.rootLength$1(path); + if ($length > 0) + return B.JSString_methods.substring$2(path, 0, $length); + if (this.isRootRelative$1(path)) { + if (0 >= path.length) + return A.ioore(path, 0); + t1 = path[0]; + } else + t1 = null; + return t1; + } + }; + A.ParsedPath.prototype = { + toString$0(_) { + var t2, t3, t4, t5, i, + t1 = this.root; + t1 = t1 != null ? "" + t1 : ""; + for (t2 = this.parts, t3 = this.separators, t4 = t2.length, t5 = t3.length, i = 0; i < t4; ++i) { + if (!(i < t5)) + return A.ioore(t3, i); + t1 = t1 + t3[i] + t2[i]; + } + t1 += B.JSArray_methods.get$last(t3); + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + A.Style.prototype = { + toString$0(_) { + return this.get$name(this); + } + }; + A.PosixStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47; + }, + needsSeparator$1(path) { + var t1 = path.length; + return t1 !== 0 && B.JSString_methods.codeUnitAt$1(path, t1 - 1) !== 47; + }, + rootLength$2$withDrive(path, withDrive) { + if (path.length !== 0 && B.JSString_methods._codeUnitAt$1(path, 0) === 47) + return 1; + return 0; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return false; + }, + get$name() { + return "posix"; + }, + get$separator() { + return "/"; + } + }; + A.UrlStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47; + }, + needsSeparator$1(path) { + var t1 = path.length; + if (t1 === 0) + return false; + if (B.JSString_methods.codeUnitAt$1(path, t1 - 1) !== 47) + return true; + return B.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1; + }, + rootLength$2$withDrive(path, withDrive) { + var i, codeUnit, index, t2, + t1 = path.length; + if (t1 === 0) + return 0; + if (B.JSString_methods._codeUnitAt$1(path, 0) === 47) + return 1; + for (i = 0; i < t1; ++i) { + codeUnit = B.JSString_methods._codeUnitAt$1(path, i); + if (codeUnit === 47) + return 0; + if (codeUnit === 58) { + if (i === 0) + return 0; + index = B.JSString_methods.indexOf$2(path, "/", B.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i); + if (index <= 0) + return t1; + if (!withDrive || t1 < index + 3) + return index; + if (!B.JSString_methods.startsWith$1(path, "file://")) + return index; + if (!A.isDriveLetter(path, index + 1)) + return index; + t2 = index + 3; + return t1 === t2 ? t2 : index + 4; + } + } + return 0; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return path.length !== 0 && B.JSString_methods._codeUnitAt$1(path, 0) === 47; + }, + get$name() { + return "url"; + }, + get$separator() { + return "/"; + } + }; + A.WindowsStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47 || codeUnit === 92; + }, + needsSeparator$1(path) { + var t1 = path.length; + if (t1 === 0) + return false; + t1 = B.JSString_methods.codeUnitAt$1(path, t1 - 1); + return !(t1 === 47 || t1 === 92); + }, + rootLength$2$withDrive(path, withDrive) { + var t2, index, + t1 = path.length; + if (t1 === 0) + return 0; + t2 = B.JSString_methods._codeUnitAt$1(path, 0); + if (t2 === 47) + return 1; + if (t2 === 92) { + if (t1 < 2 || B.JSString_methods._codeUnitAt$1(path, 1) !== 92) + return 1; + index = B.JSString_methods.indexOf$2(path, "\\", 2); + if (index > 0) { + index = B.JSString_methods.indexOf$2(path, "\\", index + 1); + if (index > 0) + return index; + } + return t1; + } + if (t1 < 3) + return 0; + if (!A.isAlphabetic(t2)) + return 0; + if (B.JSString_methods._codeUnitAt$1(path, 1) !== 58) + return 0; + t1 = B.JSString_methods._codeUnitAt$1(path, 2); + if (!(t1 === 47 || t1 === 92)) + return 0; + return 3; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return this.rootLength$1(path) === 1; + }, + get$name() { + return "windows"; + }, + get$separator() { + return "\\"; + } + }; + A.SqliteException.prototype = { + toString$0(_) { + var t2, t3, _this = this, + t1 = _this.operation; + t1 = t1 == null ? "" : "while " + t1 + ", "; + t1 = "SqliteException(" + _this.extendedResultCode + "): " + t1 + _this.message + ", " + _this.explanation; + t2 = _this.causingStatement; + if (t2 != null) { + t1 = t1 + "\n Causing statement: " + t2; + t2 = _this.parametersToStatement; + if (t2 != null) { + t3 = A._arrayInstanceType(t2); + t3 = t1 + (", parameters: " + new A.MappedListIterable(t2, t3._eval$1("String(1)")._as(new A.SqliteException_toString_closure()), t3._eval$1("MappedListIterable<1,String>")).join$1(0, ", ")); + t1 = t3; + } + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + A.SqliteException_toString_closure.prototype = { + call$1(e) { + if (type$.Uint8List._is(e)) + return "blob (" + e.length + " bytes)"; + else + return J.toString$0$(e); + }, + $signature: 68 + }; + A.AllowedArgumentCount.prototype = {}; + A.SqliteResult.prototype = {}; + A.RawSqliteContext.prototype = {}; + A.RawSqliteValue.prototype = {}; + A.FinalizableDatabase.prototype = { + dispose$0() { + var t1, t2, _i, stmt, t3, code, exception; + for (t1 = this._statements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt = t1[_i]; + if (!stmt._statement$_closed) { + stmt._statement$_closed = true; + if (!stmt._inResetState) { + t3 = stmt.statement; + A._asInt(t3.bindings._sqlite3_reset.call$1(t3.stmt)); + stmt._inResetState = true; + } + t3 = stmt.statement; + t3.deallocateArguments$0(); + A._asInt(t3.bindings._sqlite3_finalize.call$1(t3.stmt)); + } + } + t1 = this.database; + code = A._asInt(t1.bindings._sqlite3_close_v2.call$1(t1.db)); + exception = code !== 0 ? A.createExceptionRaw(this.bindings, t1, code, "closing database", null, null) : null; + if (exception != null) + throw A.wrapException(exception); + } + }; + A.DatabaseImplementation.prototype = { + get$userVersion() { + var result, version, t1, + stmt = this.prepare$1("PRAGMA user_version;"); + try { + result = J.select$0$z(stmt); + t1 = J.get$first$ax(result)._data; + if (0 >= t1.length) + return A.ioore(t1, 0); + version = A._asInt(t1[0]); + return version; + } finally { + stmt.dispose$0(); + } + }, + createFunction$5$argumentCount$deterministic$directOnly$function$functionName(argumentCount, deterministic, directOnly, $function, functionName) { + var t1, functionNameBytes, t2, flags, t3, t4, ptr, result, _null = null; + type$.nullable_Object_Function_List_nullable_Object._as($function); + t1 = this.database; + type$.Utf8Codec._eval$1("Codec.S")._as(functionName); + functionNameBytes = B.C_Utf8Codec.get$encoder().convert$1(functionName); + if (functionNameBytes.length > 255) + A.throwExpression(A.ArgumentError$value(functionName, "functionName", "Must not exceed 255 bytes when utf-8 encoded")); + t2 = new Uint8Array(A._ensureNativeList(functionNameBytes)); + flags = directOnly ? 526337 : 2049; + t3 = type$.nullable_void_Function_2_RawSqliteContext_and_List_RawSqliteValue._as(new A.DatabaseImplementation_createFunction_closure($function)); + t4 = t1.bindings; + ptr = t4.allocateBytes$2$additionalLength(t2, 1); + result = A._asInt(t4._create_scalar.call$5(t1.db, ptr, argumentCount.allowedArgs, flags, t4.callbacks.register$1(0, new A.RegisteredFunctionSet(t3, _null, _null)))); + t4._free.call$1(ptr); + if (result !== 0) + A.throwException(this, result, _null, _null, _null); + }, + createFunction$4$argumentCount$deterministic$function$functionName(argumentCount, deterministic, $function, functionName) { + return this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(argumentCount, deterministic, true, $function, functionName); + }, + dispose$0() { + var t1, _i, t2, _this = this; + if (_this._isClosed) + return; + $.$get$disposeFinalizer()._registry.unregister(_this); + _this._isClosed = true; + for (t1 = _this._updateListeners, _i = 0; false; ++_i) + t1[_i].close$0(0); + t1 = _this.database; + t2 = t1.bindings; + t2.callbacks.set$installedUpdateHook(null); + t2._update_hooks.call$2(t1.db, -1); + _this.finalizable.dispose$0(); + }, + execute$1(sql) { + var stmt, t1, t2, result, _this = this, + parameters = B.List_empty; + if (J.get$length$asx(parameters) === 0) { + if (_this._isClosed) + A.throwExpression(A.StateError$("This database has already been closed")); + t1 = _this.database; + t2 = t1.bindings; + type$.Utf8Codec._eval$1("Codec.S")._as(sql); + stmt = t2.allocateBytes$2$additionalLength(B.C_Utf8Codec.get$encoder().convert$1(sql), 1); + result = A._asInt(t2._sqlite3_exec.call$5(t1.db, stmt, 0, 0, 0)); + t2._free.call$1(stmt); + if (result !== 0) + A.throwException(_this, result, "executing", sql, parameters); + } else { + stmt = _this.prepare$2$checkNoTail(sql, true); + try { + stmt.execute$1(parameters); + } finally { + stmt.dispose$0(); + } + } + }, + _prepareInternal$5$checkNoTail$maxStatements$persistent$vtab(sql, checkNoTail, maxStatements, persistent, vtab) { + var bytes, t1, t2, ptr, t3, t4, compiler, createdStatements, freeIntermediateResults, t5, offset, result, t6, $length, t7, endOffset, stmt, _i, _this = this, + _s24_ = "Null pointer dereference"; + if (_this._isClosed) + A.throwExpression(A.StateError$("This database has already been closed")); + type$.Utf8Codec._eval$1("Codec.S")._as(sql); + bytes = B.C_Utf8Codec.get$encoder().convert$1(sql); + t1 = _this.database; + t2 = t1.bindings; + ptr = t2.allocateBytes$1(type$.List_int._as(bytes)); + t3 = t2._malloc; + t4 = A._asInt(t3.call$1(4)); + t3 = A._asInt(t3.call$1(4)); + compiler = new A.WasmStatementCompiler(t1, ptr, t4, t3); + createdStatements = A._setArrayType([], type$.JSArray_StatementImplementation); + freeIntermediateResults = new A.DatabaseImplementation__prepareInternal_freeIntermediateResults(compiler, createdStatements); + for (t1 = bytes.length, t2 = t2.memory, t4 = J.getInterceptor$x(t2), t5 = t3 !== 0, offset = 0; offset < t1; offset = endOffset) { + result = compiler.sqlite3_prepare$3(offset, t1 - offset, 0); + t6 = result.resultCode; + if (t6 !== 0) { + freeIntermediateResults.call$0(); + A.throwException(_this, t6, "preparing statement", sql, null); + } + if (A.assertTest(t5)) + A.assertThrow(_s24_); + t6 = t4.get$buffer(t2); + $length = B.JSInt_methods._tdivFast$1(t6.byteLength - 0, 4); + t6 = new Uint32Array(t6, 0, $length); + t7 = B.JSInt_methods._shrOtherPositive$1(t3, 2); + if (!(t7 < t6.length)) + return A.ioore(t6, t7); + endOffset = t6[t7] - ptr; + stmt = result.result; + if (stmt != null) + B.JSArray_methods.add$1(createdStatements, new A.StatementImplementation(stmt, _this, new A.FinalizableStatement(stmt), B.Utf8Decoder_false.convert$3(bytes, offset, endOffset))); + if (createdStatements.length === maxStatements) { + offset = endOffset; + break; + } + } + if (checkNoTail) + for (; offset < t1;) { + result = compiler.sqlite3_prepare$3(offset, t1 - offset, 0); + if (A.assertTest(t5)) + A.assertThrow(_s24_); + t6 = t4.get$buffer(t2); + $length = B.JSInt_methods._tdivFast$1(t6.byteLength - 0, 4); + t6 = new Uint32Array(t6, 0, $length); + t7 = B.JSInt_methods._shrOtherPositive$1(t3, 2); + if (!(t7 < t6.length)) + return A.ioore(t6, t7); + offset = t6[t7] - ptr; + stmt = result.result; + if (stmt != null) { + B.JSArray_methods.add$1(createdStatements, new A.StatementImplementation(stmt, _this, new A.FinalizableStatement(stmt), "")); + freeIntermediateResults.call$0(); + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Had an unexpected trailing statement.")); + } else if (result.resultCode !== 0) { + freeIntermediateResults.call$0(); + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Has trailing data after the first sql statement:")); + } + } + compiler.close$0(0); + for (t1 = createdStatements.length, t2 = _this.finalizable._statements, _i = 0; _i < createdStatements.length; createdStatements.length === t1 || (0, A.throwConcurrentModificationError)(createdStatements), ++_i) + B.JSArray_methods.add$1(t2, createdStatements[_i].finalizable); + return createdStatements; + }, + prepare$2$checkNoTail(sql, checkNoTail) { + var stmts = this._prepareInternal$5$checkNoTail$maxStatements$persistent$vtab(sql, checkNoTail, 1, false, true); + if (stmts.length === 0) + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Must contain an SQL statement.")); + return B.JSArray_methods.get$first(stmts); + }, + prepare$1(sql) { + return this.prepare$2$checkNoTail(sql, false); + }, + $isCommonDatabase: 1 + }; + A.DatabaseImplementation_createFunction_closure.prototype = { + call$2(context, args) { + A._extension_0_runWithArgsAndSetResult(context, this.$function, type$.List_RawSqliteValue._as(args)); + }, + $signature: 69 + }; + A.DatabaseImplementation__prepareInternal_freeIntermediateResults.prototype = { + call$0() { + var t1, t2, _i, stmt, t3, t4; + this.compiler.close$0(0); + for (t1 = this.createdStatements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt = t1[_i]; + t3 = stmt.finalizable; + if (!t3._statement$_closed) { + $.$get$disposeFinalizer()._registry.unregister(stmt); + if (!t3._statement$_closed) { + t3._statement$_closed = true; + if (!t3._inResetState) { + t4 = t3.statement; + A._asInt(t4.bindings._sqlite3_reset.call$1(t4.stmt)); + t3._inResetState = true; + } + t4 = t3.statement; + t4.deallocateArguments$0(); + A._asInt(t4.bindings._sqlite3_finalize.call$1(t4.stmt)); + } + t4 = stmt.database; + if (!t4._isClosed) + B.JSArray_methods.remove$1(t4.finalizable._statements, t3); + } + } + }, + $signature: 0 + }; + A.ValueList.prototype = { + get$length(_) { + return this.rawValues.length; + }, + $index(_, index) { + var t1, $length, t2, cached, result, _this = this; + if (A.assertTest(_this.isValid)) + A.assertThrow("Invalid arguments. This commonly happens when an application-defined sql function leaks its arguments after it finishes running. Please use List.of(arguments) in the function to create a copy of the argument instead."); + t1 = _this.rawValues; + $length = t1.length; + if (0 > index || index >= $length) + A.throwExpression(A.IndexError$withLength(index, $length, _this, null, "index")); + t2 = _this._cachedCopies; + if (!(index >= 0 && index < t2.length)) + return A.ioore(t2, index); + cached = t2[index]; + result = t1.$index(0, index); + t1 = result.bindings; + t2 = result.value; + switch (A._asInt(t1._sqlite3_value_type.call$1(t2))) { + case 1: + t1 = t1._sqlite3_value_int64.call$1(t2); + return self.Number(t1 == null ? type$.Object._as(t1) : t1); + case 2: + return A._asDouble(t1._sqlite3_value_double.call$1(t2)); + case 3: + $length = A._asInt(t1._sqlite3_value_bytes.call$1(t2)); + return A.ReadMemory_readString(t1.memory, A._asInt(t1._sqlite3_value_text.call$1(t2)), $length); + case 4: + $length = A._asInt(t1._sqlite3_value_bytes.call$1(t2)); + return A.ReadMemory_copyRange(t1.memory, A._asInt(t1._sqlite3_value_blob.call$1(t2)), $length); + case 5: + default: + return null; + } + }, + $indexSet(_, index, value) { + throw A.wrapException(A.ArgumentError$("The argument list is unmodifiable", null)); + } + }; + A.FinalizablePart.prototype = {}; + A.disposeFinalizer_closure.prototype = { + call$1(element) { + type$.FinalizablePart._as(element).dispose$0(); + }, + $signature: 70 + }; + A.Sqlite3Implementation.prototype = { + open$1(_, filename) { + var t1, t2, namePtr, outDb, result, dbPtr, t3, t4; + switch (2) { + case 2: + break; + } + t1 = this.bindings; + t2 = t1.bindings; + type$.Utf8Codec._eval$1("Codec.S")._as(filename); + namePtr = t2.allocateBytes$2$additionalLength(B.C_Utf8Codec.get$encoder().convert$1(filename), 1); + outDb = A._asInt(t2._malloc.call$1(4)); + result = A._asInt(t2._sqlite3_open_v2.call$4(namePtr, outDb, 6, 0)); + dbPtr = t2.int32ValueOfPointer$1(outDb); + t3 = t2._free; + t3.call$1(namePtr); + t3.call$1(0); + t3 = new A.WasmDatabase0(t2, dbPtr); + if (result !== 0) { + A._asInt(t2._sqlite3_close_v2.call$1(dbPtr)); + throw A.wrapException(A.createExceptionRaw(t1, t3, result, "opening the database", null, null)); + } + A._asInt(t2._sqlite3_extended_result_codes.call$2(dbPtr, 1)); + t2 = A._setArrayType([], type$.JSArray_MultiStreamController_SqliteUpdate); + t4 = new A.FinalizableDatabase(t1, t3, A._setArrayType([], type$.JSArray_FinalizableStatement)); + t2 = new A.DatabaseImplementation(t1, t3, t4, t2); + t3 = $.$get$disposeFinalizer(); + A._instanceType(t3)._precomputed1._as(t4); + t3._registry.register(t2, t4, t2); + return t2; + }, + $isCommonSqlite3: 1 + }; + A.FinalizableStatement.prototype = { + dispose$0() { + var t1, _this = this; + if (!_this._statement$_closed) { + _this._statement$_closed = true; + _this._reset$0(); + t1 = _this.statement; + A._asInt(t1.bindings._sqlite3_finalize.call$1(t1.stmt)); + } + }, + _reset$0() { + var t1, _this = this; + if (!_this._inResetState) { + t1 = _this.statement; + A._asInt(t1.bindings._sqlite3_reset.call$1(t1.stmt)); + _this._inResetState = true; + } + _this.statement.deallocateArguments$0(); + } + }; + A.StatementImplementation.prototype = { + get$_columnNames() { + var columnCount, t3, t4, t5, i, namePtr, t6, t7, + t1 = this.statement, + t2 = t1.bindings; + t1 = t1.stmt; + columnCount = A._asInt(t2._sqlite3_column_count.call$1(t1)); + t3 = A._setArrayType([], type$.JSArray_String); + for (t4 = type$.List_int, t5 = t2._sqlite3_column_name, t2 = t2.memory, i = 0; i < columnCount; ++i) { + namePtr = A._asInt(t5.call$2(t1, i)); + if (A.assertTest(namePtr !== 0)) + A.assertThrow("Null pointer dereference"); + t6 = J.get$buffer$x(t2); + t7 = A.ReadMemory_strlen(t2, namePtr); + t6 = t4._as(new Uint8Array(t6, namePtr, t7)); + t3.push(B.Utf8Decoder_false.convert$1(t6)); + } + return t3; + }, + get$_tableNames() { + return null; + }, + _execute$0() { + var result, _this = this, + t1 = _this.finalizable._inResetState = false, + t2 = _this.statement, + t3 = t2.stmt; + t2 = t2.bindings._sqlite3_step; + do + result = A._asInt(t2.call$1(t3)); + while (result === 100); + if (result !== 0 ? result !== 101 : t1) + A.throwException(_this.database, result, "executing statement", _this.sql, _this._latestArguments); + }, + _selectResults$0() { + var t2, t3, t4, columnCount, resultCode, t5, i, names, _this = this, + rows = A._setArrayType([], type$.JSArray_List_nullable_Object), + t1 = _this.finalizable._inResetState = false; + for (t2 = _this.statement, t3 = t2.bindings, t2 = t2.stmt, t4 = t3._sqlite3_step, t3 = t3._sqlite3_column_count, columnCount = -1; resultCode = A._asInt(t4.call$1(t2)), resultCode === 100;) { + if (columnCount === -1) + columnCount = A._asInt(t3.call$1(t2)); + A.assertHelper(columnCount >= 0); + t5 = []; + for (i = 0; i < columnCount; ++i) + t5.push(_this._readValue$1(i)); + B.JSArray_methods.add$1(rows, t5); + } + if (resultCode !== 0 ? resultCode !== 101 : t1) + A.throwException(_this.database, resultCode, "selecting from statement", _this.sql, _this._latestArguments); + names = _this.get$_columnNames(); + _this.get$_tableNames(); + t1 = new A.ResultSet(rows, names, B.Map_empty); + t1._calculateIndexes$0(); + return t1; + }, + _readValue$1(index) { + var $length, + t1 = this.statement, + t2 = t1.bindings; + t1 = t1.stmt; + switch (A._asInt(t2._sqlite3_column_type.call$2(t1, index))) { + case 1: + t1 = t2._sqlite3_column_int64.call$2(t1, index); + if (t1 == null) + t1 = type$.Object._as(t1); + return -9007199254740992 <= t1 && t1 <= 9007199254740992 ? self.Number(t1) : A._BigIntImpl_parse(A._asString(t1.toString()), null); + case 2: + return A._asDouble(t2._sqlite3_column_double.call$2(t1, index)); + case 3: + return A.ReadMemory_readString(t2.memory, A._asInt(t2._sqlite3_column_text.call$2(t1, index)), null); + case 4: + $length = A._asInt(t2._sqlite3_column_bytes.call$2(t1, index)); + return A.ReadMemory_copyRange(t2.memory, A._asInt(t2._sqlite3_column_blob.call$2(t1, index)), $length); + case 5: + default: + return null; + } + }, + _bindParams$1(params) { + var t4, t5, t6, t7, t8, t9, t10, t11, t12, i, param, encoded, ptr, + $length = params.length, + t1 = this.statement, + t2 = t1.bindings, + t3 = t1.stmt, + count = A._asInt(t2._sqlite3_bind_parameter_count.call$1(t3)); + if ($length !== count) + A.throwExpression(A.ArgumentError$value(params, "parameters", "Expected " + count + " parameters, got " + $length)); + t4 = params.length; + if (t4 === 0) + return; + for (t4 = type$.List_int, t5 = type$.BigInt, t1 = t1._allocatedArguments, t6 = t2._sqlite3_bind_blob64, t7 = type$.Utf8Codec._eval$1("Codec.S"), t8 = t2._sqlite3_bind_text, t9 = t2._sqlite3_bind_double, t10 = type$._BigIntImpl, t11 = t2._sqlite3_bind_int64, t12 = t2._sqlite3_bind_null, i = 1; i <= params.length; ++i) { + param = params[i - 1]; + if (param == null) + A._asInt(t12.call$2(t3, i)); + else if (A._isInt(param)) + A._asInt(t11.call$3(t3, i, self.BigInt(param))); + else if (t5._is(param)) { + if (param.compareTo$1(0, t10._as($.$get$bigIntMinValue64())) < 0 || param.compareTo$1(0, t10._as($.$get$bigIntMaxValue64())) > 0) + A.throwExpression(A.Exception_Exception(string$.BigInt)); + A._asInt(t11.call$3(t3, i, self.BigInt(param.toString$0(0)))); + } else if (A._isBool(param)) + A._asInt(t11.call$3(t3, i, self.BigInt(param ? 1 : 0))); + else if (typeof param == "number") + A._asInt(t9.call$3(t3, i, param)); + else if (typeof param == "string") { + t7._as(param); + encoded = B.C_Utf8Codec.get$encoder().convert$1(param); + ptr = t2.allocateBytes$1(encoded); + B.JSArray_methods.add$1(t1, ptr); + A._asInt(t8.call$5(t3, i, ptr, encoded.length, 0)); + } else if (t4._is(param)) { + t4._as(param); + ptr = t2.allocateBytes$1(param); + B.JSArray_methods.add$1(t1, ptr); + A._asInt(t6.call$5(t3, i, ptr, self.BigInt(J.get$length$asx(param)), 0)); + } else + A.throwExpression(A.ArgumentError$value(param, "params[" + i + "]", "Allowed parameters must either be null or bool, int, num, String or List.")); + } + this._latestArguments = params; + }, + dispose$0() { + var t2, + t1 = this.finalizable; + if (!t1._statement$_closed) { + $.$get$disposeFinalizer()._registry.unregister(this); + t1.dispose$0(); + t2 = this.database; + if (!t2._isClosed) + B.JSArray_methods.remove$1(t2.finalizable._statements, t1); + } + }, + execute$1(parameters) { + var t1 = this.finalizable; + if (t1._statement$_closed) + A.throwExpression(A.StateError$(string$.Tried_)); + t1._reset$0(); + this._bindParams$1(parameters); + this._execute$0(); + }, + select$1(_, parameters) { + var t1 = this.finalizable; + if (t1._statement$_closed) + A.throwExpression(A.StateError$(string$.Tried_)); + t1._reset$0(); + this._bindParams$1(parameters); + return this._selectResults$0(); + }, + select$0($receiver) { + return this.select$1($receiver, B.List_empty3); + }, + $isCommonPreparedStatement: 1 + }; + A.Cursor0.prototype = { + _calculateIndexes$0() { + var t2, t3, _i, column, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + for (t2 = this._result_set$_columnNames, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + column = t2[_i]; + t1.$indexSet(0, column, B.JSArray_methods.lastIndexOf$1(t2, column)); + } + this.set$_calculatedIndexes(t1); + }, + set$_calculatedIndexes(_calculatedIndexes) { + this._calculatedIndexes = type$.Map_String_int._as(_calculatedIndexes); + } + }; + A.ResultSet.prototype = { + get$iterator(_) { + return new A._ResultIterator(this); + }, + $index(_, index) { + var t1 = this.rows; + if (!(index >= 0 && index < t1.length)) + return A.ioore(t1, index); + return new A.Row(this, A.List_List$unmodifiable(t1[index], type$.nullable_Object)); + }, + $indexSet(_, index, value) { + type$.Row._as(value); + throw A.wrapException(A.UnsupportedError$("Can't change rows from a result set")); + }, + get$length(_) { + return this.rows.length; + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.Row.prototype = { + $index(_, key) { + var t1, index; + if (typeof key != "string") { + if (A._isInt(key)) { + t1 = this._data; + if (key >>> 0 !== key || key >= t1.length) + return A.ioore(t1, key); + return t1[key]; + } + return null; + } + index = this._result._calculatedIndexes.$index(0, key); + if (index == null) + return null; + t1 = this._data; + if (index >>> 0 !== index || index >= t1.length) + return A.ioore(t1, index); + return t1[index]; + }, + get$keys(_) { + return this._result._result_set$_columnNames; + }, + get$values(_) { + return this._data; + }, + $isMap: 1 + }; + A._ResultIterator.prototype = { + get$current(_) { + var t1 = this.result, + t2 = t1.rows, + t3 = this.index; + if (!(t3 >= 0 && t3 < t2.length)) + return A.ioore(t2, t3); + return new A.Row(t1, A.List_List$unmodifiable(t2[t3], type$.nullable_Object)); + }, + moveNext$0() { + return ++this.index < this.result.rows.length; + } + }; + A._ResultSet_Cursor_ListMixin.prototype = {}; + A._ResultSet_Cursor_ListMixin_NonGrowableListMixin.prototype = {}; + A._Row_Object_UnmodifiableMapMixin.prototype = {}; + A._Row_Object_UnmodifiableMapMixin_MapMixin.prototype = {}; + A.OpenMode.prototype = { + _enumToString$0() { + return "OpenMode." + this._name; + } + }; + A.WasmSqliteBindings.prototype = {$isRawSqliteBindings: 1}; + A.WasmDatabase0.prototype = {$isRawSqliteDatabase: 1}; + A.WasmStatementCompiler.prototype = { + close$0(_) { + var _this = this, + t1 = _this.database.bindings._free; + t1.call$1(_this.sql); + t1.call$1(_this.stmtOut); + t1.call$1(_this.pzTail); + }, + sqlite3_prepare$3(byteOffset, $length, prepFlag) { + var _this = this, + t1 = _this.database, + t2 = t1.bindings, + t3 = _this.stmtOut, + result = A._asInt(t2._sqlite3_prepare_v3.call$6(t1.db, _this.sql + byteOffset, $length, prepFlag, t3, _this.pzTail)), + stmt = t2.int32ValueOfPointer$1(t3), + libraryStatement = stmt === 0 ? null : new A.WasmStatement(stmt, t2, A._setArrayType([], type$.JSArray_int)); + return new A.SqliteResult(result, libraryStatement, type$.SqliteResult_nullable_RawSqliteStatement); + } + }; + A.WasmStatement.prototype = { + deallocateArguments$0() { + var t1, t2, t3, _i; + for (t1 = this._allocatedArguments, t2 = t1.length, t3 = this.bindings._free, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) + t3.call$1(t1[_i]); + B.JSArray_methods.clear$0(t1); + }, + $isRawSqliteStatement: 1 + }; + A.WasmContext.prototype = {}; + A.WasmValue.prototype = {}; + A.WasmValueList.prototype = { + $index(_, index) { + var t1 = this.bindings; + return new A.WasmValue(t1, t1.int32ValueOfPointer$1(this.value + index * 4)); + }, + $indexSet(_, index, value) { + type$.WasmValue._as(value); + throw A.wrapException(A.UnsupportedError$("Setting element in WasmValueList")); + }, + get$length(receiver) { + return this.length; + } + }; + A.SqliteEnvironment.prototype = {}; + A.FileSystemException.prototype = { + toString$0(_) { + return "FileSystemException: (" + this.errorCode + ") " + this.message; + } + }; + A.AsynchronousIndexedDbFileSystem.prototype = { + open$0(_) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, completer, t2; + var $async$open$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = new A._Future($.Zone__current, type$._Future_Database); + completer = new A._SyncCompleter(t1, type$._SyncCompleter_Database); + t2 = type$.nullable_IdbFactory._as(self.self.indexedDB); + t2.toString; + completer.complete$1(0, B.IdbFactory_methods.open$4$onBlocked$onUpgradeNeeded$version(t2, $async$self._dbName, new A.AsynchronousIndexedDbFileSystem_open_closure(completer), new A.AsynchronousIndexedDbFileSystem_open_closure0(), 1)); + $async$goto = 2; + return A._asyncAwait(t1, $async$open$0); + case 2: + // returning from await. + $async$self.set$_indexed_db$_database($async$result); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$open$0, $async$completer); + }, + listFiles$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_int), + $async$returnValue, $async$self = this, result, iterator, row, t1, $async$temp1; + var $async$listFiles$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + iterator = new A._CursorReader(type$.Request._as(B.Database_methods.transactionStore$2(t1, "files", "readonly").objectStore("files").index("fileName").openKeyCursor()), type$._CursorReader_Cursor); + case 3: + // for condition + $async$temp1 = A; + $async$goto = 5; + return A._asyncAwait(iterator.moveNext$0(), $async$listFiles$0); + case 5: + // returning from await. + if (!$async$temp1.boolConversionCheck($async$result)) { + // goto after for + $async$goto = 4; + break; + } + row = iterator._cursor; + if (row == null) + row = A.throwExpression(A.StateError$("Await moveNext() first")); + result.$indexSet(0, A._asString(row.key), A._asInt(row.primaryKey)); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$listFiles$0, $async$completer); + }, + fileIdForPath$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_int), + $async$returnValue, $async$self = this, t1, $async$temp1; + var $async$fileIdForPath$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + t1 = B.Database_methods.transactionStore$2(t1, "files", "readonly").objectStore("files").index("fileName"); + t1.toString; + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(B.Index_methods.getKey$1(t1, path), $async$fileIdForPath$1); + case 3: + // returning from await. + $async$returnValue = $async$temp1._asIntQ($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$fileIdForPath$1, $async$completer); + }, + _readFile$2(transaction, fileId) { + var t1 = transaction.objectStore("files"); + t1.toString; + return A.RequestExt_completed(A.callMethod(t1, "get", [fileId], type$.Request), false, type$.nullable__FileEntry).then$1$1(new A.AsynchronousIndexedDbFileSystem__readFile_closure(fileId), type$._FileEntry); + }, + readFully$1(fileId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), + $async$returnValue, $async$self = this, transaction, file, t2, t3, result, readOperations, reader, row, rowOffset, t4, t1, $async$temp1; + var $async$readFully$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = B.Database_methods.transactionList$2(t1, B.List_files_blocks, "readonly"); + t1 = transaction.objectStore("blocks"); + t1.toString; + $async$goto = 3; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$readFully$1); + case 3: + // returning from await. + file = $async$result; + t2 = J.getInterceptor$asx(file); + t3 = t2.get$length(file); + result = new Uint8Array(t3); + readOperations = A._setArrayType([], type$.JSArray_Future_void); + t3 = type$.JSArray_int; + reader = new A._CursorReader(A.callMethod(t1, "openCursor", [self.IDBKeyRange.bound(A._setArrayType([fileId, 0], t3), A._setArrayType([fileId, 9007199254740992], t3))], type$.Request), type$._CursorReader_CursorWithValue); + t1 = type$.List_dynamic, t3 = type$.void; + case 4: + // for condition + $async$temp1 = A; + $async$goto = 6; + return A._asyncAwait(reader.moveNext$0(), $async$readFully$1); + case 6: + // returning from await. + if (!$async$temp1.boolConversionCheck($async$result)) { + // goto after for + $async$goto = 5; + break; + } + row = reader._cursor; + if (row == null) + row = A.throwExpression(A.StateError$("Await moveNext() first")); + rowOffset = A._asInt(J.$index$asx(t1._as(row.key), 1)); + t4 = t2.get$length(file); + if (typeof t4 !== "number") { + $async$returnValue = t4.$sub(); + // goto return + $async$goto = 1; + break; + } + B.JSArray_methods.add$1(readOperations, A.Future_Future$sync(new A.AsynchronousIndexedDbFileSystem_readFully_closure(row, result, rowOffset, Math.min(4096, t4 - rowOffset)), t3)); + // goto for condition + $async$goto = 4; + break; + case 5: + // after for + $async$goto = 7; + return A._asyncAwait(A.Future_wait(readOperations, t3), $async$readFully$1); + case 7: + // returning from await. + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$readFully$1, $async$completer); + }, + _write$2(fileId, writes) { + return this._write$body$AsynchronousIndexedDbFileSystem(A._asInt(fileId), writes); + }, + _write$body$AsynchronousIndexedDbFileSystem(fileId, writes) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, transaction, file, t2, t3, changedOffsets, t1, $async$temp1; + var $async$_write$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = B.Database_methods.transactionList$2(t1, B.List_files_blocks, "readwrite"); + t1 = transaction.objectStore("blocks"); + t1.toString; + $async$goto = 2; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$_write$2); + case 2: + // returning from await. + file = $async$result; + t2 = writes.replacedBlocks; + t3 = A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"); + changedOffsets = A.List_List$of(new A.LinkedHashMapKeyIterable(t2, t3), true, t3._eval$1("Iterable.E")); + B.JSArray_methods.sort$0(changedOffsets); + t3 = A._arrayInstanceType(changedOffsets); + $async$goto = 3; + return A._asyncAwait(A.Future_wait(new A.MappedListIterable(changedOffsets, t3._eval$1("Future<~>(1)")._as(new A.AsynchronousIndexedDbFileSystem__write_closure(new A.AsynchronousIndexedDbFileSystem__write_writeBlock(t1, fileId), writes)), t3._eval$1("MappedListIterable<1,Future<~>>")), type$.void), $async$_write$2); + case 3: + // returning from await. + t1 = J.getInterceptor$asx(file); + $async$goto = writes.newFileLength !== t1.get$length(file) ? 4 : 5; + break; + case 4: + // then + t2 = transaction.objectStore("files"); + t2.toString; + t2 = B.ObjectStore_methods.openCursor$1$key(t2, fileId); + $async$temp1 = B.CursorWithValue_methods; + $async$goto = 7; + return A._asyncAwait(t2.get$first(t2), $async$_write$2); + case 7: + // returning from await. + $async$goto = 6; + return A._asyncAwait($async$temp1.update$1($async$result, {name: t1.get$name(file), length: writes.newFileLength}), $async$_write$2); + case 6: + // returning from await. + case 5: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_write$2, $async$completer); + }, + truncate$2(_, fileId, $length) { + return this.truncate$body$AsynchronousIndexedDbFileSystem(0, A._asInt(fileId), $length); + }, + truncate$body$AsynchronousIndexedDbFileSystem(_, fileId, $length) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, transaction, t2, file, t3, t4, t1, $async$temp1; + var $async$truncate$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = B.Database_methods.transactionList$2(t1, B.List_files_blocks, "readwrite"); + t1 = transaction.objectStore("files"); + t1.toString; + t2 = transaction.objectStore("blocks"); + t2.toString; + $async$goto = 2; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$truncate$2); + case 2: + // returning from await. + file = $async$result; + t3 = J.getInterceptor$asx(file); + $async$goto = t3.get$length(file) > $length ? 3 : 4; + break; + case 3: + // then + t4 = type$.JSArray_int; + $async$goto = 5; + return A._asyncAwait(B.ObjectStore_methods.delete$1(t2, self.IDBKeyRange.bound(A._setArrayType([fileId, B.JSInt_methods._tdivFast$1($length, 4096) * 4096 + 1], t4), A._setArrayType([fileId, 9007199254740992], t4))), $async$truncate$2); + case 5: + // returning from await. + case 4: + // join + t1 = B.ObjectStore_methods.openCursor$1$key(t1, fileId); + $async$temp1 = B.CursorWithValue_methods; + $async$goto = 7; + return A._asyncAwait(t1.get$first(t1), $async$truncate$2); + case 7: + // returning from await. + $async$goto = 6; + return A._asyncAwait($async$temp1.update$1($async$result, {name: t3.get$name(file), length: $length}), $async$truncate$2); + case 6: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$truncate$2, $async$completer); + }, + deleteFile$1(id) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, transaction, blocksRange, t2, t1; + var $async$deleteFile$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = B.Database_methods.transactionList$2(t1, B.List_files_blocks, "readwrite"); + t1 = type$.JSArray_int; + blocksRange = self.IDBKeyRange.bound(A._setArrayType([id, 0], t1), A._setArrayType([id, 9007199254740992], t1)); + t1 = transaction.objectStore("blocks"); + t1.toString; + t1 = B.ObjectStore_methods.delete$1(t1, blocksRange); + t2 = transaction.objectStore("files"); + t2.toString; + $async$goto = 2; + return A._asyncAwait(A.Future_wait(A._setArrayType([t1, B.ObjectStore_methods.delete$1(t2, id)], type$.JSArray_Future_void), type$.void), $async$deleteFile$1); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$deleteFile$1, $async$completer); + }, + set$_indexed_db$_database(_database) { + this._indexed_db$_database = type$.nullable_Database._as(_database); + } + }; + A.AsynchronousIndexedDbFileSystem_open_closure0.prototype = { + call$1(change) { + var database, t1, files, options; + type$.VersionChangeEvent._as(change); + database = type$.Database._as(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(change.target.result, false)); + t1 = change.oldVersion; + if (t1 == null || t1 === 0) { + files = B.Database_methods.createObjectStore$2$autoIncrement(database, "files", true); + t1 = type$.dynamic; + options = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1); + options.$indexSet(0, "unique", true); + B.ObjectStore_methods._createIndex$3(files, "fileName", "name", options); + B.Database_methods.createObjectStore$1(database, "blocks"); + } + }, + $signature: 71 + }; + A.AsynchronousIndexedDbFileSystem_open_closure.prototype = { + call$1(e) { + return this.completer.completeError$1("Opening database blocked: " + A.S(e)); + }, + $signature: 1 + }; + A.AsynchronousIndexedDbFileSystem__readFile_closure.prototype = { + call$1(value) { + type$.nullable__FileEntry._as(value); + if (value == null) + throw A.wrapException(A.ArgumentError$value(this.fileId, "fileId", "File not found in database")); + else + return value; + }, + $signature: 108 + }; + A.AsynchronousIndexedDbFileSystem_readFully_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, $async$temp1, $async$temp2, $async$temp3, $async$temp4; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = B.NativeUint8List_methods; + $async$temp2 = $async$self.result; + $async$temp3 = $async$self.rowOffset; + $async$temp4 = A; + $async$goto = 2; + return A._asyncAwait(A.ReadBlob_arrayBuffer(type$.Blob._as(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($async$self.row.value, false))), $async$call$0); + case 2: + // returning from await. + $async$temp1.setAll$2($async$temp2, $async$temp3, $async$temp4.NativeUint8List_NativeUint8List$view($async$result.buffer, 0, $async$self.length)); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 3 + }; + A.AsynchronousIndexedDbFileSystem__write_writeBlock.prototype = { + call$2(blockStart, block) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, t3, cursor, blob; + var $async$call$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (A.assertTest(block.length === 4096)) + A.assertThrow("Invalid block size"); + t1 = $async$self.blocks; + t2 = $async$self.fileId; + t3 = type$.JSArray_int; + $async$goto = 2; + return A._asyncAwait(A.RequestExt_completed(A.callMethod(t1, "openCursor", [self.IDBKeyRange.only(A._setArrayType([t2, blockStart], t3))], type$.Request), true, type$.nullable_CursorWithValue), $async$call$2); + case 2: + // returning from await. + cursor = $async$result; + blob = A.Blob_Blob(A._setArrayType([block], type$.JSArray_Uint8List)); + $async$goto = cursor == null ? 3 : 5; + break; + case 3: + // then + $async$goto = 6; + return A._asyncAwait(B.ObjectStore_methods.put$2(t1, blob, A._setArrayType([t2, blockStart], t3)), $async$call$2); + case 6: + // returning from await. + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = 7; + return A._asyncAwait(B.CursorWithValue_methods.update$1(cursor, blob), $async$call$2); + case 7: + // returning from await. + case 4: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$2, $async$completer); + }, + $signature: 73 + }; + A.AsynchronousIndexedDbFileSystem__write_closure.prototype = { + call$1(offset) { + var t1; + A._asInt(offset); + t1 = this.writes.replacedBlocks.$index(0, offset); + t1.toString; + return this.writeBlock.call$2(offset, t1); + }, + $signature: 74 + }; + A._FileEntry.prototype = {}; + A._FileWriteRequest.prototype = { + _updateBlock$3(blockOffset, offsetInBlock, data) { + B.NativeUint8List_methods.setAll$2(this.replacedBlocks.putIfAbsent$2(0, blockOffset, new A._FileWriteRequest__updateBlock_closure(this, blockOffset)), offsetInBlock, data); + }, + addWrite$2(offset, data) { + var t1, offsetInData, offsetInFile, t2, offsetInBlock, t3, bytesToWrite, t4, chunk; + for (t1 = data.length, offsetInData = 0; offsetInData < t1;) { + offsetInFile = offset + offsetInData; + t2 = B.JSInt_methods._tdivFast$1(offsetInFile, 4096); + offsetInBlock = B.JSInt_methods.$mod(offsetInFile, 4096); + t3 = t1 - offsetInData; + if (offsetInBlock !== 0) + bytesToWrite = Math.min(4096 - offsetInBlock, t3); + else { + bytesToWrite = Math.min(4096, t3); + offsetInBlock = 0; + } + t3 = data.buffer; + t4 = data.byteOffset; + chunk = new Uint8Array(t3, t4 + offsetInData, bytesToWrite); + offsetInData += bytesToWrite; + this._updateBlock$3(t2 * 4096, offsetInBlock, chunk); + } + this.set$newFileLength(Math.max(this.newFileLength, offset + t1)); + }, + set$newFileLength(newFileLength) { + this.newFileLength = A._asInt(newFileLength); + } + }; + A._FileWriteRequest__updateBlock_closure.prototype = { + call$0() { + var block = new Uint8Array(4096), + t1 = this.$this.originalContent, + t2 = t1.length, + t3 = this.blockOffset; + if (t2 > t3) + B.NativeUint8List_methods.setAll$2(block, 0, A.NativeUint8List_NativeUint8List$view(t1.buffer, t1.byteOffset + t3, A._asIntQ(Math.min(4096, t2 - t3)))); + return block; + }, + $signature: 75 + }; + A._OffsetAndBuffer.prototype = {}; + A.IndexedDbFileSystem.prototype = { + _submitWork$1(work) { + var t1 = this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + if (work.insertInto$1(this._pendingWork)) { + this._startWorkingIfNeeded$0(); + return work.completer.future; + } else + return A.Future_Future$value(null, type$.void); + }, + _startWorkingIfNeeded$0() { + var t1, item, _this = this; + if (_this._currentWorkItem == null) { + t1 = _this._pendingWork; + t1 = !t1.get$isEmpty(t1); + } else + t1 = false; + if (t1) { + t1 = _this._pendingWork; + item = _this._currentWorkItem = t1.get$first(t1); + t1.remove$1(0, item); + item.completer.complete$1(0, A.Future_Future(item.get$run(), type$.void).whenComplete$1(new A.IndexedDbFileSystem__startWorkingIfNeeded_closure(_this))); + } + }, + _fileId$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t2, t1; + var $async$_fileId$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._knownFileIds; + $async$goto = t1.containsKey$1(0, path) ? 3 : 5; + break; + case 3: + // then + t1 = t1.$index(0, path); + t1.toString; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = 6; + return A._asyncAwait($async$self._asynchronous.fileIdForPath$1(path), $async$_fileId$1); + case 6: + // returning from await. + t2 = $async$result; + t2.toString; + t1.$indexSet(0, path, t2); + $async$returnValue = t2; + // goto return + $async$goto = 1; + break; + case 4: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_fileId$1, $async$completer); + }, + _readFiles$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, t3, t4, t1, rawFiles, $async$temp1, $async$temp2; + var $async$_readFiles$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._asynchronous; + $async$goto = 2; + return A._asyncAwait(t1.listFiles$0(), $async$_readFiles$0); + case 2: + // returning from await. + rawFiles = $async$result; + $async$self._knownFileIds.addAll$1(0, rawFiles); + t2 = J.get$entries$x(rawFiles), t2 = t2.get$iterator(t2), t3 = $async$self._memory.fileData; + case 3: + // for condition + if (!t2.moveNext$0()) { + // goto after for + $async$goto = 4; + break; + } + t4 = t2.get$current(t2); + $async$temp1 = t3; + $async$temp2 = t4.key; + $async$goto = 5; + return A._asyncAwait(t1.readFully$1(t4.value), $async$_readFiles$0); + case 5: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_readFiles$0, $async$completer); + }, + createFile$3$errorIfAlreadyExists$errorIfNotExists(_, path, errorIfAlreadyExists, errorIfNotExists) { + var existsBefore, _this = this, + t1 = _this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + t1 = _this._memory; + existsBefore = t1.fileData.containsKey$1(0, path); + t1.createFile$3$errorIfAlreadyExists$errorIfNotExists(0, path, errorIfAlreadyExists, errorIfNotExists); + if (!existsBefore) + _this._submitWork$1(new A._CreateFileWorkItem(_this, path, new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + createTemporaryFile$0() { + var path, + t1 = this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + path = this._memory.createTemporaryFile$0(); + this._inMemoryOnlyFiles.add$1(0, path); + return path; + }, + deleteFile$1(path) { + var _this = this; + _this._memory.deleteFile$1(path); + if (!_this._inMemoryOnlyFiles.remove$1(0, path)) + _this._submitWork$1(new A._DeleteFileWorkItem(_this, path, new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + exists$1(path) { + var t1 = this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + return this._memory.fileData.containsKey$1(0, path); + }, + read$3(_, path, target, offset) { + var t1; + A._asInt(offset); + t1 = this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + return this._memory.read$3(0, path, target, offset); + }, + sizeOfFile$1(path) { + var t1 = this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + return this._memory.sizeOfFile$1(path); + }, + truncateFile$2(path, $length) { + var _this = this, + t1 = _this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + _this._memory.truncateFile$2(path, $length); + if (!_this._inMemoryOnlyFiles.contains$1(0, path)) + _this._submitWork$1(new A._FunctionWorkItem(type$.void_Function._as(new A.IndexedDbFileSystem_truncateFile_closure(_this, path, $length)), new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + write$3(_, path, bytes, offset) { + var t1, previousContent, t2, _this = this; + A._asInt(offset); + t1 = _this._asynchronous._indexed_db$_database; + if (t1 == null) + A.throwExpression(A.FileSystemException$(10, "FileSystem closed")); + t1 = _this._memory; + previousContent = t1.fileData.$index(0, path); + if (previousContent == null) + previousContent = new Uint8Array(0); + t1.write$3(0, path, bytes, offset); + if (!_this._inMemoryOnlyFiles.contains$1(0, path)) { + t1 = A._setArrayType([], type$.JSArray__OffsetAndBuffer); + t2 = $.Zone__current; + B.JSArray_methods.add$1(t1, new A._OffsetAndBuffer(offset, bytes)); + _this._submitWork$1(new A._WriteFileWorkItem(_this, path, previousContent, t1, new A._SyncCompleter(new A._Future(t2, type$._Future_void), type$._SyncCompleter_void))); + } + }, + $isFileSystem0: 1 + }; + A.IndexedDbFileSystem__startWorkingIfNeeded_closure.prototype = { + call$0() { + var t1 = this.$this; + t1._currentWorkItem = null; + t1._startWorkingIfNeeded$0(); + }, + $signature: 4 + }; + A.IndexedDbFileSystem_truncateFile_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + $async$temp1 = t1._asynchronous; + $async$goto = 3; + return A._asyncAwait(t1._fileId$1($async$self.path), $async$call$0); + case 3: + // returning from await. + $async$returnValue = $async$temp1.truncate$2(0, $async$result, $async$self.length); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 3 + }; + A._IndexedDbWorkItem.prototype = { + insertInto$1(pending) { + type$.LinkedList__IndexedDbWorkItem._as(pending); + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._collection$_first, this, false); + return true; + } + }; + A._FunctionWorkItem.prototype = { + run$0() { + return this.work.call$0(); + } + }; + A._DeleteFileWorkItem.prototype = { + insertInto$1(pending) { + var current, t1, previous, t2; + type$.LinkedList__IndexedDbWorkItem._as(pending); + if (!pending.get$isEmpty(pending)) { + current = pending.get$last(pending); + for (t1 = this.path; current != null;) + if (current instanceof A._DeleteFileWorkItem) + if (current.path === t1) + return false; + else + current = current.get$previous(); + else if (current instanceof A._WriteFileWorkItem) { + previous = current.get$previous(); + if (current.path === t1) { + t2 = current._list; + t2.toString; + t2._unlink$1(A._instanceType(current)._eval$1("LinkedListEntry.E")._as(current)); + } + current = previous; + } else if (current instanceof A._CreateFileWorkItem) { + if (current.path === t1) { + t1 = current._list; + t1.toString; + t1._unlink$1(A._instanceType(current)._eval$1("LinkedListEntry.E")._as(current)); + return false; + } + current = current.get$previous(); + } else + break; + } + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._collection$_first, this, false); + return true; + }, + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, id; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.fileSystem; + t2 = $async$self.path; + $async$goto = 2; + return A._asyncAwait(t1._fileId$1(t2), $async$run$0); + case 2: + // returning from await. + id = $async$result; + t1._knownFileIds.remove$1(0, t2); + $async$goto = 3; + return A._asyncAwait(t1._asynchronous.deleteFile$1(id), $async$run$0); + case 3: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A._CreateFileWorkItem.prototype = { + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, t3, $async$temp1, $async$temp2; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.fileSystem; + t2 = $async$self.path; + t3 = t1._asynchronous._indexed_db$_database; + t3.toString; + t3 = B.Database_methods.transactionStore$2(t3, "files", "readwrite").objectStore("files"); + t3.toString; + $async$temp1 = t1._knownFileIds; + $async$temp2 = t2; + $async$goto = 2; + return A._asyncAwait(A.RequestExt_completed(A.ObjectStoreExt_putRequestUnsafe(t3, {name: t2, length: 0}), true, type$.int), $async$run$0); + case 2: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A._WriteFileWorkItem.prototype = { + insertInto$1(pending) { + var current, t1; + type$.LinkedList__IndexedDbWorkItem._as(pending); + current = pending._collection$_length === 0 ? null : pending.get$last(pending); + for (t1 = this.path; current != null;) + if (current instanceof A._WriteFileWorkItem) + if (current.path === t1) { + B.JSArray_methods.addAll$1(current.writes, this.writes); + return false; + } else + current = current.get$previous(); + else if (current instanceof A._CreateFileWorkItem) { + if (current.path === t1) + break; + current = current.get$previous(); + } else + break; + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._collection$_first, this, false); + return true; + }, + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, _i, write, t1, request, $async$temp1; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.originalContent; + request = new A._FileWriteRequest(t1, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.Uint8List), t1.length); + for (t1 = $async$self.writes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + write = t1[_i]; + request.addWrite$2(write.offset, write.buffer); + } + t1 = $async$self.fileSystem; + $async$temp1 = t1._asynchronous; + $async$goto = 3; + return A._asyncAwait(t1._fileId$1($async$self.path), $async$run$0); + case 3: + // returning from await. + $async$goto = 2; + return A._asyncAwait($async$temp1._write$2($async$result, request), $async$run$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A.InMemoryFileSystem.prototype = { + exists$1(path) { + return this.fileData.containsKey$1(0, path); + }, + createFile$3$errorIfAlreadyExists$errorIfNotExists(_, path, errorIfAlreadyExists, errorIfNotExists) { + var t1 = this.fileData, + fileExists = t1.containsKey$1(0, path); + if (errorIfAlreadyExists && fileExists) + throw A.wrapException(A.FileSystemException$(10, "File already exists")); + if (errorIfNotExists && !fileExists) + throw A.wrapException(A.FileSystemException$(10, "File not exists")); + t1.putIfAbsent$2(0, path, new A.InMemoryFileSystem_createFile_closure()); + }, + createFile$1($receiver, path) { + return this.createFile$3$errorIfAlreadyExists$errorIfNotExists($receiver, path, false, false); + }, + createTemporaryFile$0() { + var t1, i, t2; + for (t1 = this.fileData, i = 0; t2 = "/tmp/" + i, t1.containsKey$1(0, t2);) + ++i; + this.createFile$1(0, t2); + return t2; + }, + deleteFile$1(path) { + var t1 = this.fileData; + if (!t1.containsKey$1(0, path)) + throw A.wrapException(A.FileSystemException$(5898, "SQLITE_ERROR")); + t1.remove$1(0, path); + }, + read$3(_, path, target, offset) { + var file, available; + A._asInt(offset); + file = this.fileData.$index(0, path); + if (file == null || file.length <= offset) + return 0; + available = Math.min(target.length, file.length - offset); + B.NativeUint8List_methods.setRange$4(target, 0, available, file, offset); + return available; + }, + sizeOfFile$1(path) { + var t1 = this.fileData; + if (!t1.containsKey$1(0, path)) + throw A.wrapException(A.FileSystemException$(1, "SQLITE_ERROR")); + t1 = t1.$index(0, path); + t1 = t1 == null ? null : J.get$length$asx(t1); + return t1 == null ? 0 : t1; + }, + truncateFile$2(path, $length) { + var t1 = this.fileData, + file = t1.$index(0, path), + result = new Uint8Array($length); + if (file != null) + B.NativeUint8List_methods.setRange$3(result, 0, Math.min($length, file.length), file); + t1.$indexSet(0, path, result); + }, + write$3(_, path, bytes, offset) { + var t1, file, t2, t3, increasedSize, newFile; + A._asInt(offset); + t1 = this.fileData; + file = t1.$index(0, path); + if (file == null) + file = new Uint8Array(0); + t2 = offset + bytes.length; + t3 = file.length; + increasedSize = t2 - t3; + if (increasedSize <= 0) + B.NativeUint8List_methods.setRange$3(file, offset, t2, bytes); + else { + newFile = new Uint8Array(t3 + increasedSize); + B.NativeUint8List_methods.setAll$2(newFile, 0, file); + B.NativeUint8List_methods.setAll$2(newFile, offset, bytes); + t1.$indexSet(0, path, newFile); + } + }, + $isFileSystem0: 1 + }; + A.InMemoryFileSystem_createFile_closure.prototype = { + call$0() { + return null; + }, + $signature: 4 + }; + A.JsBigInt.prototype = { + toString$0(_) { + return A._asString(this._jsBigInt.toString()); + } + }; + A.FetchOptions.prototype = {}; + A.ResponseInit.prototype = {}; + A._GetFileHandleOptions.prototype = {}; + A._RemoveEntryOptions.prototype = {}; + A.FileSystemReadWriteOptions.prototype = {}; + A.RequestExt_completed_cancel.prototype = { + call$0() { + var t1 = this._box_0, + t2 = t1.success; + if (t2 != null) + t2.cancel$0(0); + t1 = t1.error; + if (t1 != null) + t1.cancel$0(0); + }, + $signature: 0 + }; + A.RequestExt_completed_closure.prototype = { + call$1(_) { + var t1, _this = this; + _this.cancel.call$0(); + t1 = _this.T; + _this.completer.complete$1(0, A.Future_Future$sync(new A.RequestExt_completed__closure(_this.convertResultToDart, _this._this, t1), t1)); + }, + $signature: 1 + }; + A.RequestExt_completed__closure.prototype = { + call$0() { + var t1 = this._this; + t1 = this.convertResultToDart ? new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(t1.result, false) : t1.result; + return this.T._as(t1); + }, + $signature() { + return this.T._eval$1("0()"); + } + }; + A.RequestExt_completed_closure0.prototype = { + call$1($event) { + var t1; + this.cancel.call$0(); + t1 = this._box_0.error; + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A._CursorReader.prototype = { + cancel$0(_) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1; + var $async$cancel$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._onSuccess; + if (t1 != null) + t1.cancel$0(0); + t1 = $async$self._indexed_db0$_onError; + if (t1 != null) + t1.cancel$0(0); + $async$self._indexed_db0$_onError = $async$self._onSuccess = null; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$cancel$0, $async$completer); + }, + moveNext$0() { + var t1, completer, t2, t3, t4, _this = this; + if (A.assertTest(_this._onSuccess == null && _this._indexed_db0$_onError == null)) + A.assertThrow("moveNext() called twice"); + t1 = _this._cursor; + if (t1 != null) + J.next$0$x(t1); + t1 = new A._Future($.Zone__current, type$._Future_bool); + completer = new A._SyncCompleter(t1, type$._SyncCompleter_bool); + t2 = _this._cursorRequest; + t3 = type$.nullable_void_Function_Event; + t4 = type$.Event; + _this._onSuccess = A._EventStreamSubscription$(t2, "success", t3._as(new A._CursorReader_moveNext_closure(_this, completer)), false, t4); + _this._indexed_db0$_onError = A._EventStreamSubscription$(t2, "success", t3._as(new A._CursorReader_moveNext_closure0(_this, completer)), false, t4); + return t1; + }, + set$_cursor(_, _cursor) { + this._cursor = this.$ti._eval$1("1?")._as(_cursor); + } + }; + A._CursorReader_moveNext_closure.prototype = { + call$1($event) { + var t1 = this.$this; + t1.cancel$0(0); + t1.set$_cursor(0, t1.$ti._eval$1("1?")._as(t1._cursorRequest.result)); + this.completer.complete$1(0, t1._cursor != null); + }, + $signature: 1 + }; + A._CursorReader_moveNext_closure0.prototype = { + call$1($event) { + var t1 = this.$this; + t1.cancel$0(0); + t1 = t1._cursorRequest.error; + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.DatabaseName.prototype = {}; + A._WasmInstance.prototype = {}; + A._ResultObject.prototype = {}; + A.WasmInstance.prototype = { + WasmInstance$_$1(nativeInstance) { + var t1, t2, t3, t4, t5, t6, t7, t8, t9, value; + for (t1 = J.getInterceptor$x(nativeInstance), t2 = J.cast$1$0$ax(Object.keys(t1.get$exports(nativeInstance)), type$.String), t3 = A._instanceType(t2), t2 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator")), t4 = type$.Global, t5 = type$.Function, t6 = type$.Object, t3 = t3._eval$1("ListBase.E"), t7 = this.globals, t8 = this.functions; t2.moveNext$0();) { + t9 = t2.__internal$_current; + if (t9 == null) + t9 = t3._as(t9); + value = t6._as(t1.get$exports(nativeInstance)[t9]); + if (t5._is(value)) + t8.$indexSet(0, t9, value); + else if (t4._is(value)) + t7.$indexSet(0, t9, value); + } + } + }; + A.WasmInstance_load_closure.prototype = { + call$2(module, moduleImports) { + var moduleJs; + A._asString(module); + type$.Map_String_Object._as(moduleImports); + moduleJs = {}; + this.importsJs[module] = moduleJs; + J.forEach$1$ax(moduleImports, new A.WasmInstance_load__closure(moduleJs)); + }, + $signature: 76 + }; + A.WasmInstance_load__closure.prototype = { + call$2($name, value) { + A._asString($name); + type$.Object._as(value); + if (A.assertTest(!type$.Function._is(value) || typeof value == "function")) + A.assertThrow(string$.Dart_f); + this.moduleJs[$name] = value; + }, + $signature: 77 + }; + A.MemoryDescriptor.prototype = {}; + A.Memory.prototype = {}; + A.Global.prototype = {}; + A.WasmSqlite3.prototype = {}; + A.WasmBindings.prototype = { + allocateBytes$2$additionalLength(bytes, additionalLength) { + var t1, ptr, t2; + type$.List_int._as(bytes); + t1 = J.getInterceptor$asx(bytes); + ptr = A._asInt(this._malloc.call$1(t1.get$length(bytes) + additionalLength)); + t2 = A.NativeUint8List_NativeUint8List$view(J.get$buffer$x(this.memory), 0, null); + B.NativeUint8List_methods.setRange$3(t2, ptr, ptr + t1.get$length(bytes), bytes); + B.NativeUint8List_methods.fillRange$3(t2, ptr + t1.get$length(bytes), ptr + t1.get$length(bytes) + additionalLength, 0); + return ptr; + }, + allocateBytes$1(bytes) { + return this.allocateBytes$2$additionalLength(bytes, 0); + }, + int32ValueOfPointer$1(pointer) { + var t1, t2; + if (A.assertTest(pointer !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = A.NativeUint32List_NativeUint32List$view(J.get$buffer$x(this.memory), 0, null); + t2 = B.JSInt_methods._shrOtherPositive$1(pointer, 2); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + return t1[t2]; + }, + setInt32Value$2(pointer, value) { + var t1, t2; + if (A.assertTest(pointer !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = A.NativeUint32List_NativeUint32List$view(J.get$buffer$x(this.memory), 0, null); + t2 = B.JSInt_methods._shrOtherPositive$1(pointer, 2); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t1[t2] = value; + }, + sqlite3_result_int64$2(context, value) { + this._sqlite3_result_int64.call$2(context, self.BigInt(type$.BigInt._as(value).toString$0(0))); + } + }; + A._InjectedValues.prototype = { + _InjectedValues$1(environment) { + var t2, t3, t4, _this = this, + t1 = type$.Memory._as(new self.WebAssembly.Memory({initial: 16})); + _this.___InjectedValues_memory_A = t1; + t2 = type$.String; + t3 = type$.Object; + t4 = type$.Function; + _this.set$___InjectedValues_injectedValues_A(type$.Map_of_String_and_Map_String_Object._as(A.LinkedHashMap_LinkedHashMap$_literal(["env", A.LinkedHashMap_LinkedHashMap$_literal(["memory", t1], t2, t3), "dart", A.LinkedHashMap_LinkedHashMap$_literal(["random", A.allowInterop(new A._InjectedValues_closure(t1, environment), t4), "error_log", A.allowInterop(new A._InjectedValues_closure0(t1), t4), "now", A.allowInterop(new A._InjectedValues_closure1(), t4), "path_normalize", A.allowInterop(new A._InjectedValues_closure2(t1), t4), "function_xFunc", A.allowInterop(new A._InjectedValues_closure3(_this), t4), "function_xStep", A.allowInterop(new A._InjectedValues_closure4(_this), t4), "function_xInverse", A.allowInterop(new A._InjectedValues_closure5(_this), t4), "function_xFinal", A.allowInterop(new A._InjectedValues_closure6(_this), t4), "function_xValue", A.allowInterop(new A._InjectedValues_closure7(_this), t4), "function_forget", A.allowInterop(new A._InjectedValues_closure8(_this), t4), "function_compare", A.allowInterop(new A._InjectedValues_closure9(_this, t1), t4), "function_hook", A.allowInterop(new A._InjectedValues_closure10(_this, t1), t4), "fs_create", A.allowInterop(new A._InjectedValues_closure11(t1, environment), t4), "fs_temp_create", A.allowInterop(new A._InjectedValues_closure12(_this, environment), t4), "fs_size", A.allowInterop(new A._InjectedValues_closure13(_this, environment, t1), t4), "fs_truncate", A.allowInterop(new A._InjectedValues_closure14(environment, t1), t4), "fs_read", A.allowInterop(new A._InjectedValues_closure15(environment, t1), t4), "fs_write", A.allowInterop(new A._InjectedValues_closure16(environment, t1), t4), "fs_delete", A.allowInterop(new A._InjectedValues_closure17(environment, t1), t4), "fs_access", A.allowInterop(new A._InjectedValues_closure18(_this, environment, t1), t4)], t2, t3)], t2, type$.Map_String_Object))); + }, + set$___InjectedValues_injectedValues_A(___InjectedValues_injectedValues_A) { + this.___InjectedValues_injectedValues_A = type$.Map_of_String_and_Map_String_Object._as(___InjectedValues_injectedValues_A); + } + }; + A._InjectedValues_closure.prototype = { + call$2(ptr, $length) { + var buffer, random, t1, i; + A._asInt(ptr); + A._asInt($length); + buffer = A.NativeUint8List_NativeUint8List$view(this.memory.buffer, ptr, $length); + random = this.environment.random; + for (t1 = buffer.length, i = 0; i < t1; ++i) + B.NativeUint8List_methods.$indexSet(buffer, i, random.nextInt$1(256)); + }, + $signature: 78 + }; + A._InjectedValues_closure0.prototype = { + call$1(ptr) { + A.print("Error reported by native handler: " + A.ReadMemory_readString(this.memory, A._asInt(ptr), null)); + }, + $signature: 10 + }; + A._InjectedValues_closure1.prototype = { + call$0() { + return new A.JsBigInt(self.BigInt(Date.now())); + }, + $signature: 80 + }; + A._InjectedValues_closure2.prototype = { + call$3(source, dest, $length) { + var t1, t2, encoded; + A._asInt(source); + A._asInt(dest); + A._asInt($length); + t1 = this.memory; + t2 = type$.Utf8Codec._eval$1("Codec.S")._as($.$get$_context().absolute$1(0, A.ReadMemory_readString(t1, source, null))); + encoded = B.C_Utf8Codec.get$encoder().convert$1(t2); + if (encoded.length >= $length) + return 1; + else { + B.NativeUint8List_methods.setAll$2(A.NativeUint8List_NativeUint8List$view(t1.buffer, dest, $length), 0, encoded); + return 0; + } + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 19 + }; + A._InjectedValues_closure3.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t2 = t1.callbacks.functions.$index(0, A._asInt(t2._sqlite3_user_data.call$1(ctx))).xFunc; + t1 = t1.___InjectedValues_bindings_A; + t2.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 13 + }; + A._InjectedValues_closure4.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t2 = t1.callbacks.functions.$index(0, A._asInt(t2._sqlite3_user_data.call$1(ctx))).xStep; + t1 = t1.___InjectedValues_bindings_A; + t2.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 13 + }; + A._InjectedValues_closure5.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(t2._sqlite3_user_data.call$1(ctx))).toString; + t1 = t1.___InjectedValues_bindings_A; + null.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 13 + }; + A._InjectedValues_closure6.prototype = { + call$1(ctx) { + var t1, t2; + A._asInt(ctx); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(t2._sqlite3_user_data.call$1(ctx))).xFinal.call$1(new A.WasmContext(t1.___InjectedValues_bindings_A, ctx)); + }, + $signature: 10 + }; + A._InjectedValues_closure7.prototype = { + call$1(ctx) { + var t1, t2; + A._asInt(ctx); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(t2._sqlite3_user_data.call$1(ctx))).toString; + null.call$1(new A.WasmContext(t1.___InjectedValues_bindings_A, ctx)); + }, + $signature: 10 + }; + A._InjectedValues_closure8.prototype = { + call$1(ctx) { + this.$this.callbacks.functions.remove$1(0, A._asInt(ctx)); + }, + $signature: 10 + }; + A._InjectedValues_closure9.prototype = { + call$5(ctx, lengthA, a, lengthB, b) { + var t1, aStr, bStr; + A._asInt(ctx); + A._asInt(lengthA); + A._asInt(a); + A._asInt(lengthB); + A._asInt(b); + t1 = this.memory; + aStr = A.ReadMemory_readNullableString(t1, a, lengthA); + bStr = A.ReadMemory_readNullableString(t1, b, lengthB); + this.$this.callbacks.functions.$index(0, ctx).toString; + return null.call$2(aStr, bStr); + }, + "call*": "call$5", + $requiredArgCount: 5, + $signature: 83 + }; + A._InjectedValues_closure10.prototype = { + call$5(id, kind, _, table, rowId) { + A._asInt(id); + A._asInt(kind); + A._asInt(_); + A._asInt(table); + type$.Object._as(rowId); + A.ReadMemory_readString(this.memory, table, null); + }, + "call*": "call$5", + $requiredArgCount: 5, + $signature: 84 + }; + A._InjectedValues_closure11.prototype = { + call$2(path, flags) { + var pathStr, createIfNotExists, exclusive, e, exception, t1; + A._asInt(path); + A._asInt(flags); + pathStr = A.ReadMemory_readString(this.memory, path, null); + createIfNotExists = (flags & 4) !== 0; + exclusive = (flags & 16) !== 0; + try { + this.environment.fileSystem.createFile$3$errorIfAlreadyExists$errorIfNotExists(0, pathStr, exclusive, !A.boolConversionCheck(createIfNotExists)); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return e.errorCode; + } else + throw exception; + } + }, + $signature: 8 + }; + A._InjectedValues_closure12.prototype = { + call$0() { + var path = this.environment.fileSystem.createTemporaryFile$0(), + t1 = this.$this.___InjectedValues_bindings_A; + t1 === $ && A.throwLateFieldNI("bindings"); + type$.Utf8Codec._eval$1("Codec.S")._as(path); + return t1.allocateBytes$2$additionalLength(B.C_Utf8Codec.get$encoder().convert$1(path), 1); + }, + $signature: 24 + }; + A._InjectedValues_closure13.prototype = { + call$2(path, pSize) { + var size, e, t1, exception; + A._asInt(path); + A._asInt(pSize); + try { + size = this.environment.fileSystem.sizeOfFile$1(A.ReadMemory_readString(this.memory, path, null)); + t1 = this.$this.___InjectedValues_bindings_A; + t1 === $ && A.throwLateFieldNI("bindings"); + t1.setInt32Value$2(pSize, 0); + t1.setInt32Value$2(pSize + 1, size); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return e.errorCode; + } else + throw exception; + } + }, + $signature: 8 + }; + A._InjectedValues_closure14.prototype = { + call$2(path, size) { + var e, exception, t1; + A._asInt(path); + A._asInt(size); + try { + this.environment.fileSystem.truncateFile$2(A.ReadMemory_readString(this.memory, path, null), size); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return e.errorCode; + } else + throw exception; + } + }, + $signature: 8 + }; + A._InjectedValues_closure15.prototype = { + call$4(path, into, amount, offset) { + var e, t1, exception; + A._asInt(path); + A._asInt(into); + A._asInt(amount); + type$.Object._as(offset); + try { + t1 = this.memory; + t1 = this.environment.fileSystem.read$3(0, A.ReadMemory_readString(t1, path, null), A.NativeUint8List_NativeUint8List$view(t1.buffer, into, amount), self.Number(offset)); + return t1; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return -e.errorCode; + } else + throw exception; + } + }, + "call*": "call$4", + $requiredArgCount: 4, + $signature: 17 + }; + A._InjectedValues_closure16.prototype = { + call$4(path, from, amount, offset) { + var e, t1, exception; + A._asInt(path); + A._asInt(from); + A._asInt(amount); + type$.Object._as(offset); + try { + t1 = this.memory; + this.environment.fileSystem.write$3(0, A.ReadMemory_readString(t1, path, null), A.NativeUint8List_NativeUint8List$view(t1.buffer, from, amount), self.Number(offset)); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return e.errorCode; + } else + throw exception; + } + }, + "call*": "call$4", + $requiredArgCount: 4, + $signature: 17 + }; + A._InjectedValues_closure17.prototype = { + call$1(path) { + var e, exception, t1; + A._asInt(path); + try { + this.environment.fileSystem.deleteFile$1(A.ReadMemory_readString(this.memory, path, null)); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return e.errorCode; + } else + throw exception; + } + }, + $signature: 16 + }; + A._InjectedValues_closure18.prototype = { + call$3(path, flags, pResOut) { + var exists, e, t1, exception; + A._asInt(path); + A._asInt(flags); + A._asInt(pResOut); + try { + exists = this.environment.fileSystem.exists$1(A.ReadMemory_readString(this.memory, path, null)); + t1 = this.$this.___InjectedValues_bindings_A; + t1 === $ && A.throwLateFieldNI("bindings"); + t1.setInt32Value$2(pResOut, A.boolConversionCheck(exists) ? 1 : 0); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FileSystemException) { + e = t1; + return e.errorCode; + } else + throw exception; + } + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 19 + }; + A.DartCallbacks.prototype = { + register$1(_, set) { + var t1 = this._id++; + this.functions.$indexSet(0, t1, set); + return t1; + }, + set$installedUpdateHook(installedUpdateHook) { + this.installedUpdateHook = type$.nullable_void_Function_int_String_int._as(installedUpdateHook); + } + }; + A.RegisteredFunctionSet.prototype = {}; + A.CloseGuaranteeChannel.prototype = { + get$stream(_) { + var t1 = this.__CloseGuaranteeChannel__stream_F; + t1 === $ && A.throwLateFieldNI("_stream"); + return t1; + }, + get$sink() { + var t1 = this.__CloseGuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + return t1; + }, + set$__CloseGuaranteeChannel__stream_F(__CloseGuaranteeChannel__stream_F) { + this.__CloseGuaranteeChannel__stream_F = this.$ti._eval$1("_CloseGuaranteeStream<1>")._as(__CloseGuaranteeChannel__stream_F); + }, + set$__CloseGuaranteeChannel__sink_F(__CloseGuaranteeChannel__sink_F) { + this.__CloseGuaranteeChannel__sink_F = this.$ti._eval$1("_CloseGuaranteeSink<1>")._as(__CloseGuaranteeChannel__sink_F); + }, + set$_close_guarantee_channel$_subscription(_subscription) { + this._close_guarantee_channel$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._CloseGuaranteeStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1, subscription; + this.$ti._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t1 = this._close_guarantee_channel$_channel; + if (t1._close_guarantee_channel$_disconnected) { + onData = null; + onError = null; + } + subscription = this._close_guarantee_channel$_inner.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); + if (!t1._close_guarantee_channel$_disconnected) + t1.set$_close_guarantee_channel$_subscription(subscription); + return subscription; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + listen$2$onDone(onData, onDone) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null); + } + }; + A._CloseGuaranteeSink.prototype = { + close$0(_) { + var subscription, + done = this.super$DelegatingStreamSink$close(0), + t1 = this._close_guarantee_channel$_channel; + t1._close_guarantee_channel$_disconnected = true; + subscription = t1._close_guarantee_channel$_subscription; + if (subscription != null) { + subscription.onData$1(null); + subscription.onError$1(0, null); + } + return done; + } + }; + A.GuaranteeChannel.prototype = { + get$stream(_) { + var t1 = this.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")); + }, + get$sink() { + var t1 = this.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + return t1; + }, + GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { + var _this = this, + t1 = _this.$ti, + t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), true, $T._eval$1("_GuaranteeSink<0>"))); + _this.__GuaranteeChannel__sink_F !== $ && A.throwLateFieldAI("_sink"); + _this.set$__GuaranteeChannel__sink_F(t2); + t1 = t1._eval$1("StreamController<1>")._as(A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this, $T), true, $T)); + _this.__GuaranteeChannel__streamController_F !== $ && A.throwLateFieldAI("_streamController"); + _this.set$__GuaranteeChannel__streamController_F(t1); + }, + _onSinkDisconnected$0() { + var subscription, t1; + this._disconnected = true; + subscription = this._guarantee_channel$_subscription; + if (subscription != null) + subscription.cancel$0(0); + t1 = this.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + t1.close$0(0); + }, + set$__GuaranteeChannel__sink_F(__GuaranteeChannel__sink_F) { + this.__GuaranteeChannel__sink_F = this.$ti._eval$1("_GuaranteeSink<1>")._as(__GuaranteeChannel__sink_F); + }, + set$__GuaranteeChannel__streamController_F(__GuaranteeChannel__streamController_F) { + this.__GuaranteeChannel__streamController_F = this.$ti._eval$1("StreamController<1>")._as(__GuaranteeChannel__streamController_F); + }, + set$_guarantee_channel$_subscription(_subscription) { + this._guarantee_channel$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A.GuaranteeChannel_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + if (t1._disconnected) + return; + t2 = this._box_0.innerStream; + t3 = t1.__GuaranteeChannel__streamController_F; + t3 === $ && A.throwLateFieldNI("_streamController"); + t1.set$_guarantee_channel$_subscription(t2.listen$3$onDone$onError(this.T._eval$1("~(0)")._as(t3.get$add(t3)), new A.GuaranteeChannel__closure(t1), t3.get$addError())); + }, + $signature: 0 + }; + A.GuaranteeChannel__closure.prototype = { + call$0() { + var t1 = this.$this, + t2 = t1.__GuaranteeChannel__sink_F; + t2 === $ && A.throwLateFieldNI("_sink"); + t2._onStreamDisconnected$0(); + t1 = t1.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + t1.close$0(0); + }, + $signature: 0 + }; + A._GuaranteeSink.prototype = { + add$1(_, data) { + var t1, _this = this; + _this.$ti._precomputed1._as(data); + if (_this._closed) + throw A.wrapException(A.StateError$("Cannot add event after closing.")); + if (_this._addStreamSubscription != null) + throw A.wrapException(A.StateError$("Cannot add event while adding stream.")); + if (_this._disconnected) + return; + t1 = _this._inner; + t1._async$_target.add$1(0, t1.$ti._precomputed1._as(data)); + }, + _guarantee_channel$_addError$2(error, stackTrace) { + this._inner._async$_target.addError$2(type$.Object._as(error), type$.nullable_StackTrace._as(stackTrace)); + return; + }, + _guarantee_channel$_addError$1(error) { + return this._guarantee_channel$_addError$2(error, null); + }, + addStream$1(_, stream) { + var t2, t3, _this = this, + t1 = _this.$ti; + t1._eval$1("Stream<1>")._as(stream); + if (_this._closed) + throw A.wrapException(A.StateError$("Cannot add stream after closing.")); + if (_this._addStreamSubscription != null) + throw A.wrapException(A.StateError$("Cannot add stream while adding stream.")); + if (_this._disconnected) + return A.Future_Future$value(null, type$.void); + t2 = _this._addStreamCompleter = new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._SyncCompleter_dynamic); + t3 = _this._inner; + _this.set$_addStreamSubscription(stream.listen$3$onDone$onError(t1._eval$1("~(1)")._as(t3.get$add(t3)), type$.void_Function_$opt_dynamic._as(t2.get$complete(t2)), _this.get$_guarantee_channel$_addError())); + return _this._addStreamCompleter.future.then$1$1(new A._GuaranteeSink_addStream_closure(_this), type$.void); + }, + close$0(_) { + var _this = this; + if (_this._addStreamSubscription != null) + throw A.wrapException(A.StateError$("Cannot close sink while adding stream.")); + if (_this._closed) + return _this._doneCompleter.future; + _this._closed = true; + if (!_this._disconnected) { + _this._guarantee_channel$_channel._onSinkDisconnected$0(); + _this._doneCompleter.complete$1(0, _this._inner._async$_target.close$0(0)); + } + return _this._doneCompleter.future; + }, + _onStreamDisconnected$0() { + var t1, t2, _this = this; + _this._disconnected = true; + t1 = _this._doneCompleter; + if ((t1.future._state & 30) === 0) + t1.complete$0(0); + t1 = _this._addStreamSubscription; + if (t1 == null) + return; + t2 = _this._addStreamCompleter; + t2.toString; + t2.complete$1(0, t1.cancel$0(0)); + _this._addStreamCompleter = null; + _this.set$_addStreamSubscription(null); + }, + set$_addStreamSubscription(_addStreamSubscription) { + this._addStreamSubscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_addStreamSubscription); + }, + $isStreamConsumer: 1, + $isStreamSink: 1 + }; + A._GuaranteeSink_addStream_closure.prototype = { + call$1(_) { + var t1 = this.$this; + t1._addStreamCompleter = null; + t1.set$_addStreamSubscription(null); + }, + $signature: 12 + }; + A.StreamChannelController.prototype = { + set$__StreamChannelController__local_F(__StreamChannelController__local_F) { + this.__StreamChannelController__local_F = this.$ti._eval$1("StreamChannel<1>")._as(__StreamChannelController__local_F); + }, + set$__StreamChannelController__foreign_F(__StreamChannelController__foreign_F) { + this.__StreamChannelController__foreign_F = this.$ti._eval$1("StreamChannel<1>")._as(__StreamChannelController__foreign_F); + } + }; + A.StreamChannelMixin.prototype = { + changeStream$1(change) { + var _this = this, + t1 = A._instanceType(_this), + t2 = t1._eval$1("Stream<1>(Stream<1>)")._as(change).call$1(_this.get$stream(_this)), + t3 = new A.CloseGuaranteeChannel(t1._eval$1("CloseGuaranteeChannel<1>")), + t4 = t1._eval$1("_CloseGuaranteeSink<1>"); + t3.set$__CloseGuaranteeChannel__sink_F(t4._as(new A._CloseGuaranteeSink(t3, _this.get$sink(), t4))); + t1 = t1._eval$1("_CloseGuaranteeStream<1>"); + t1 = t1._as(new A._CloseGuaranteeStream(t2, t3, t1)); + t3.__CloseGuaranteeChannel__stream_F !== $ && A.throwLateFieldAI("_stream"); + t3.set$__CloseGuaranteeChannel__stream_F(t1); + return t3; + }, + $isStreamChannel: 1 + }; + A.main_closure.prototype = { + call$0() { + return A.connect(true); + }, + $signature: 86 + }; + (function aliases() { + var _ = J.Interceptor.prototype; + _.super$Interceptor$toString = _.toString$0; + _ = J.LegacyJavaScriptObject.prototype; + _.super$LegacyJavaScriptObject$toString = _.toString$0; + _ = A.JsLinkedHashMap.prototype; + _.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1; + _.super$JsLinkedHashMap$internalGet = _.internalGet$1; + _.super$JsLinkedHashMap$internalSet = _.internalSet$2; + _.super$JsLinkedHashMap$internalRemove = _.internalRemove$1; + _ = A._BroadcastStreamController.prototype; + _.super$_BroadcastStreamController$_addEventError = _._addEventError$0; + _ = A._BufferingStreamSubscription.prototype; + _.super$_BufferingStreamSubscription$_add = _._add$1; + _.super$_BufferingStreamSubscription$_addError = _._addError$2; + _ = A.ListBase.prototype; + _.super$ListBase$setRange = _.setRange$4; + _ = A.EventTarget.prototype; + _.super$EventTarget$addEventListener = _.addEventListener$3; + _ = A.DelegatingStreamSink.prototype; + _.super$DelegatingStreamSink$close = _.close$0; + _ = A.DelegatingStreamSubscription.prototype; + _.super$DelegatingStreamSubscription$onError = _.onError$1; + _.super$DelegatingStreamSubscription$cancel = _.cancel$0; + _ = A.Sqlite3Delegate.prototype; + _.super$Sqlite3Delegate$close = _.close$0; + })(); + (function installTearOffs() { + var _static_2 = hunkHelpers._static_2, + _static_1 = hunkHelpers._static_1, + _static_0 = hunkHelpers._static_0, + _static = hunkHelpers.installStaticTearOff, + _instance_0_u = hunkHelpers._instance_0u, + _instance = hunkHelpers.installInstanceTearOff, + _instance_2_u = hunkHelpers._instance_2u, + _instance_1_i = hunkHelpers._instance_1i, + _instance_1_u = hunkHelpers._instance_1u, + _instance_0_i = hunkHelpers._instance_0i; + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 87); + _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 11); + _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 11); + _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 11); + _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); + _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 7); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9); + _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 89, 0); + _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { + return A._rootRun($self, $parent, zone, f, type$.dynamic); + }], 90, 1); + _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { + return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic); + }], 91, 1); + _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { + return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic); + }], 92, 1); + _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { + return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); + }], 93, 0); + _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { + return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic); + }], 94, 0); + _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { + return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic); + }], 95, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 96, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 97, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 98, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 99, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 100, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 101); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 102, 0); + var _; + _instance_0_u(_ = A._BroadcastSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance(A._Completer.prototype, "get$completeError", 0, 1, function() { + return [null]; + }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 14, 0, 0); + _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() { + return [null]; + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 20, 0, 0); + _instance(A._SyncCompleter.prototype, "get$complete", 1, 0, function() { + return [null]; + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 20, 0, 0); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 6); + _instance(_, "get$addError", 0, 1, function() { + return [null]; + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 14, 0, 0); + _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_1_i(A._StreamSinkWrapper.prototype, "get$add", "add$1", 6); + _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_0_u(A._DoneStreamSubscription.prototype, "get$_sendDone", "_sendDone$0", 0); + _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_1_u(_, "get$_handleData", "_handleData$1", 6); + _instance_2_u(_, "get$_handleError", "_handleError$2", 53); + _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); + _static_2(A, "collection___defaultEquals$closure", "_defaultEquals", 103); + _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 104); + _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 105); + _instance_0_i(_ = A.MessagePort.prototype, "get$close", "close$0", 0); + _instance(_, "get$postMessage", 1, 1, function() { + return [null]; + }, ["call$2", "call$1"], ["postMessage$2", "postMessage$1"], 34, 0, 0); + _static_1(A, "math__sqrt$closure", "sqrt", 5); + _static_1(A, "math__sin$closure", "sin", 5); + _static_1(A, "math__cos$closure", "cos", 5); + _static_1(A, "math__tan$closure", "tan", 5); + _static_1(A, "math__acos$closure", "acos", 5); + _static_1(A, "math__asin$closure", "asin", 5); + _static_1(A, "math__atan$closure", "atan", 5); + _instance_1_u(A.DriftCommunication.prototype, "get$_communication$_handleMessage", "_communication$_handleMessage$1", 6); + _instance_1_u(A.DriftProtocol.prototype, "get$_decodeDbValue", "_decodeDbValue$1", 41); + _instance_0_u(A.PreparedStatementsCache.prototype, "get$disposeAll", "disposeAll$0", 0); + _static_1(A, "native_functions___pow$closure", "_pow", 22); + _static_1(A, "native_functions___regexpImpl$closure", "_regexpImpl", 107); + _static_1(A, "native_functions___containsImpl$closure", "_containsImpl", 72); + _instance_1_u(_ = A._RunningDriftWorker.prototype, "get$_newConnection", "_newConnection$1", 63); + _instance_1_u(_, "get$_handleMessage", "_handleMessage$1", 6); + _instance_0_u(A._FunctionWorkItem.prototype, "get$run", "run$0", 0); + _instance_0_u(A._DeleteFileWorkItem.prototype, "get$run", "run$0", 3); + _instance_0_u(A._CreateFileWorkItem.prototype, "get$run", "run$0", 3); + _instance_0_u(A._WriteFileWorkItem.prototype, "get$run", "run$0", 3); + _instance(A._GuaranteeSink.prototype, "get$_guarantee_channel$_addError", 0, 1, function() { + return [null]; + }, ["call$2", "call$1"], ["_guarantee_channel$_addError$2", "_guarantee_channel$_addError$1"], 14, 0, 0); + })(); + (function inheritance() { + var _mixin = hunkHelpers.mixin, + _inherit = hunkHelpers.inherit, + _inheritMany = hunkHelpers.inheritMany; + _inherit(A.Object, null); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Error, A.ListBase, A.Closure, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A.MapView, A.ConstantMap, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._IterationMarker, A._SyncStarIterator, A.AsyncError, A.Stream, A._BufferingStreamSubscription, A._BroadcastStreamController, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._LinkedListIterator, A.LinkedListEntry, A._MapBaseValueIterator, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A._FinalizationRegistryWrapper, A.DateTime, A.Duration, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Iterator, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A.ImmutableListMixin, A.FixedSizeListIterator, A._StructuredClone, A._AcceptStructuredClone, A.NullRejectionException, A._JSSecureRandom, A.DelegatingStreamSink, A.DelegatingStreamSubscription, A.DefaultEquality, A.ListEquality, A.NonGrowableListMixin, A.UnmodifiableMapMixin, A.DriftCommunication, A._PendingRequest, A.ConnectionClosedException, A.DriftRemoteException, A.DriftProtocol, A.Message, A.ExecuteQuery, A.RequestCancellation, A.ExecuteBatchedStatement, A.RunTransactionAction, A.EnsureOpen, A.ServerInfo, A.RunBeforeOpen, A.NotifyTablesUpdated, A.SelectResult, A.ServerImplementation, A._ServerDbUser, A.DatabaseConnection, A.TableUpdate, A.CancellationToken, A.CancellationException, A.DelayedStreamQueryStore, A.QueryExecutor, A.BatchedStatements, A.ArgumentsForBatchedStatement, A.QueryDelegate, A.TransactionDelegate, A.DbVersionDelegate, A.QueryResult, A.StreamQueryStore, A.OpeningDetails, A.PreparedStatementsCache, A.Lock, A._RunningDriftWorker, A.Context, A.Style, A.ParsedPath, A.SqliteException, A.AllowedArgumentCount, A.SqliteResult, A.RawSqliteContext, A.RawSqliteValue, A.FinalizablePart, A.DatabaseImplementation, A.Sqlite3Implementation, A.StatementImplementation, A.Cursor0, A._Row_Object_UnmodifiableMapMixin, A.WasmSqliteBindings, A.WasmDatabase0, A.WasmStatementCompiler, A.WasmStatement, A.SqliteEnvironment, A.FileSystemException, A.AsynchronousIndexedDbFileSystem, A._FileWriteRequest, A._OffsetAndBuffer, A.IndexedDbFileSystem, A.InMemoryFileSystem, A.JsBigInt, A._CursorReader, A.WasmInstance, A.WasmBindings, A._InjectedValues, A.DartCallbacks, A.RegisteredFunctionSet, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController]); + _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSNumber, J.JSString]); + _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A.Event, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SharedArrayBuffer, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.Cursor, A.IdbFactory, A.Index, A.ObjectStore, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FileEntry, A.FetchOptions, A.ResponseInit, A._GetFileHandleOptions, A._RemoveEntryOptions, A.FileSystemReadWriteOptions, A.DatabaseName, A._WasmInstance, A._ResultObject, A.MemoryDescriptor, A.Memory, A.Global]); + _inherit(J.JSUnmodifiableArray, J.JSArray); + _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); + _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.SkipIterable, A.WhereTypeIterable, A._ConstantMapKeyIterable, A._AllMatchesIterable, A._StringAllMatchesIterable, A._SyncStarIterable, A.LinkedList]); + _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]); + _inherit(A._EfficientLengthCastIterable, A.CastIterable); + _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); + _inherit(A.CastList, A._CastListBase); + _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]); + _inheritMany(A.ListBase, [A.UnmodifiableListBase, A.ValueList, A.WasmValueList]); + _inherit(A.CodeUnits, A.UnmodifiableListBase); + _inheritMany(A.Closure, [A.Closure0Args, A.ConstantStringMap_values_closure, A.Closure2Args, A.TearOffClosure, A.assertInteropArgs_closure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._SyncBroadcastStreamController__sendData_closure, A._SyncBroadcastStreamController__sendError_closure, A._SyncBroadcastStreamController__sendDone_closure, A.Future_wait_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_pipe_closure, A.Stream_length_closure, A.Stream_first_closure0, A.Stream_firstWhere_closure0, A.Stream_firstWhere__closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A._HashMap_values_closure, A._LinkedCustomHashMap_closure, A.MapBase_entries_closure, A._BigIntImpl_hashCode_finish, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A._convertDartToNative_Value_closure, A._completeRequest_closure, A.ObjectStore__cursorStreamFromResult_closure, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.DriftCommunication_setRequestHandler_closure, A.DriftProtocol_decodePayload_readInt, A.DriftProtocol_decodePayload_readNullableInt, A.ServerImplementation_closure, A.ServerImplementation_serve_closure, A.ServerImplementation_serve_closure0, A.ServerImplementation__waitForTurn_closure, A.DatabaseConnection_DatabaseConnection$delayed_closure, A.DatabaseConnection_DatabaseConnection$delayed_closure0, A.DelayedStreamQueryStore_closure, A.QueryResult_asMap_closure, A.EnableNativeFunctions_useNativeFunctions_closure, A._unaryNumFunction_closure, A.LazyDatabase__awaitOpened_closure, A.LazyDatabase_ensureOpen_closure, A.Lock_synchronized_closure, A.PortToChannel_channel_closure, A._RunningDriftWorker_start_closure, A._RunningDriftWorker__newConnection_remainingChannel_closure, A._RunningDriftWorker__newConnection_closure, A.Context_joinAll_closure, A._validateArgList_closure, A.SqliteException_toString_closure, A.disposeFinalizer_closure, A.AsynchronousIndexedDbFileSystem_open_closure0, A.AsynchronousIndexedDbFileSystem_open_closure, A.AsynchronousIndexedDbFileSystem__readFile_closure, A.AsynchronousIndexedDbFileSystem__write_closure, A.RequestExt_completed_closure, A.RequestExt_completed_closure0, A._CursorReader_moveNext_closure, A._CursorReader_moveNext_closure0, A._InjectedValues_closure0, A._InjectedValues_closure2, A._InjectedValues_closure3, A._InjectedValues_closure4, A._InjectedValues_closure5, A._InjectedValues_closure6, A._InjectedValues_closure7, A._InjectedValues_closure8, A._InjectedValues_closure9, A._InjectedValues_closure10, A._InjectedValues_closure15, A._InjectedValues_closure16, A._InjectedValues_closure17, A._InjectedValues_closure18, A._GuaranteeSink_addStream_closure]); + _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future_closure, A.Future_Future$delayed_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__asyncCompleteWithValue_closure, A._Future__chainFuture_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A.Stream_first_closure, A.Stream_firstWhere_closure, A.Stream_firstWhere__closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndError_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.Utf8Decoder__decoder_closure, A.Utf8Decoder__decoderNonfatal_closure, A.connect_closure, A._CancelOnErrorSubscriptionWrapper_onError__closure, A.DriftCommunication_closure, A.ServerImplementation__handleRequest_closure, A.ServerImplementation__handleRequest_closure0, A.ServerImplementation__waitForTurn_idIsActive, A.DatabaseConnection_DatabaseConnection$delayed_closure1, A.runCancellable_closure, A._BaseExecutor__synchronized_closure, A._BaseExecutor_runSelect_closure, A._BaseExecutor_runDelete_closure, A._BaseExecutor_runInsert_closure, A._BaseExecutor_runCustom_closure, A._BaseExecutor_runBatched_closure, A._StatementBasedTransactionExecutor_ensureOpen_closure, A._StatementBasedTransactionExecutor_ensureOpen_closure0, A.DelegatedDatabase_ensureOpen_closure, A.DelegatedDatabase_close_closure, A.Lock_synchronized_callBlockAndComplete, A._RunningDriftWorker__establishModeAndLaunchServer_closure, A._RunningDriftWorker__newConnection_remainingChannel, A.DatabaseImplementation__prepareInternal_freeIntermediateResults, A.AsynchronousIndexedDbFileSystem_readFully_closure, A._FileWriteRequest__updateBlock_closure, A.IndexedDbFileSystem__startWorkingIfNeeded_closure, A.IndexedDbFileSystem_truncateFile_closure, A.InMemoryFileSystem_createFile_closure, A.RequestExt_completed_cancel, A.RequestExt_completed__closure, A._InjectedValues_closure1, A._InjectedValues_closure12, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.main_closure]); + _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable, A._MapBaseValueIterable]); + _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable]); + _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); + _inherit(A.EfficientLengthSkipIterable, A.SkipIterable); + _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView); + _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin); + _inherit(A.ConstantMapView, A.UnmodifiableMapView); + _inherit(A.ConstantStringMap, A.ConstantMap); + _inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A._Future__chainForeignFuture_closure0, A._cancelAndErrorClosure_closure, A.HashMap_HashMap$from_closure, A.MapBase_mapToString_closure, A._BigIntImpl_hashCode_combine, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiInputMap_values_closure, A.MidiOutputMap_keys_closure, A.MidiOutputMap_values_closure, A.RtcStatsReport_keys_closure, A.RtcStatsReport_values_closure, A.Storage_keys_closure, A.Storage_values_closure, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.AudioParamMap_values_closure, A._CancelOnErrorSubscriptionWrapper_onError_closure, A.DatabaseImplementation_createFunction_closure, A.AsynchronousIndexedDbFileSystem__write_writeBlock, A.WasmInstance_load_closure, A.WasmInstance_load__closure, A._InjectedValues_closure, A._InjectedValues_closure11, A._InjectedValues_closure13, A._InjectedValues_closure14]); + _inherit(A.NullError, A.TypeError); + _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]); + _inherit(A._AssertionError, A.AssertionError); + _inheritMany(A.MapBase, [A.JsLinkedHashMap, A._HashMap]); + _inheritMany(A.NativeTypedData, [A.NativeByteData, A.NativeTypedArray]); + _inheritMany(A.NativeTypedArray, [A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); + _inherit(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); + _inherit(A.NativeTypedArrayOfDouble, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inherit(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); + _inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inheritMany(A.NativeTypedArrayOfDouble, [A.NativeFloat32List, A.NativeFloat64List]); + _inheritMany(A.NativeTypedArrayOfInt, [A.NativeInt16List, A.NativeInt32List, A.NativeInt8List, A.NativeUint16List, A.NativeUint32List, A.NativeUint8ClampedList, A.NativeUint8List]); + _inherit(A._TypeError, A._Error); + _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._EventStream, A.SubscriptionStream, A._CloseGuaranteeStream]); + _inherit(A._ControllerStream, A._StreamImpl); + _inherit(A._BroadcastStream, A._ControllerStream); + _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription]); + _inherit(A._BroadcastSubscription, A._ControllerSubscription); + _inherit(A._SyncBroadcastStreamController, A._BroadcastStreamController); + _inheritMany(A._Completer, [A._AsyncCompleter, A._SyncCompleter]); + _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]); + _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]); + _inherit(A._MapStream, A._ForwardingStream); + _inheritMany(A._Zone, [A._CustomZone, A._RootZone]); + _inherit(A._LinkedCustomHashMap, A.JsLinkedHashMap); + _inherit(A._SetBase, A.SetBase); + _inheritMany(A._SetBase, [A._HashSet, A._LinkedHashSet]); + _inheritMany(A.Codec, [A.Base64Codec, A.Encoding]); + _inheritMany(A.Converter, [A.Base64Encoder, A.Utf8Encoder, A.Utf8Decoder]); + _inherit(A.Utf8Codec, A.Encoding); + _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); + _inherit(A._DataUri, A._Uri); + _inheritMany(A.EventTarget, [A.Node, A.WorkerGlobalScope, A.FileWriter, A.MessagePort, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.Worker, A.Database, A.Request0, A.Transaction, A.AudioTrackList, A.BaseAudioContext]); + _inheritMany(A.Node, [A.Element, A.CharacterData]); + _inherit(A.HtmlElement, A.Element); + _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement]); + _inherit(A.CssPerspective, A.CssTransformComponent); + _inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase); + _inheritMany(A.CssStyleValue, [A.CssTransformValue, A.CssUnparsedValue]); + _inheritMany(A.WorkerGlobalScope, [A.DedicatedWorkerGlobalScope, A.SharedWorkerGlobalScope]); + _inherit(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A._DomRectList_JavaScriptObject_ListMixin); + _inherit(A.DomRectList, A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._DomStringList_JavaScriptObject_ListMixin); + _inherit(A.DomStringList, A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.File, A.Blob); + _inherit(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A._FileList_JavaScriptObject_ListMixin); + _inherit(A.FileList, A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A._HtmlCollection_JavaScriptObject_ListMixin); + _inherit(A.HtmlCollection, A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin); + _inheritMany(A.Event, [A.MessageEvent, A.VersionChangeEvent]); + _inherit(A.MidiInputMap, A._MidiInputMap_JavaScriptObject_MapMixin); + _inherit(A.MidiOutputMap, A._MidiOutputMap_JavaScriptObject_MapMixin); + _inherit(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._MimeTypeArray_JavaScriptObject_ListMixin); + _inherit(A.MimeTypeArray, A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NodeList_JavaScriptObject_ListMixin); + _inherit(A.NodeList, A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._PluginArray_JavaScriptObject_ListMixin); + _inherit(A.PluginArray, A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.RtcStatsReport, A._RtcStatsReport_JavaScriptObject_MapMixin); + _inherit(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A._SourceBufferList_EventTarget_ListMixin); + _inherit(A.SourceBufferList, A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin); + _inherit(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A._SpeechGrammarList_JavaScriptObject_ListMixin); + _inherit(A.SpeechGrammarList, A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.Storage, A._Storage_JavaScriptObject_MapMixin); + _inherit(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TextTrackCueList_JavaScriptObject_ListMixin); + _inherit(A.TextTrackCueList, A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A._TextTrackList_EventTarget_ListMixin); + _inherit(A.TextTrackList, A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin); + _inherit(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TouchList_JavaScriptObject_ListMixin); + _inherit(A.TouchList, A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__CssRuleList_JavaScriptObject_ListMixin); + _inherit(A._CssRuleList, A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._DomRect, A.DomRectReadOnly); + _inherit(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__GamepadList_JavaScriptObject_ListMixin); + _inherit(A._GamepadList, A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin); + _inherit(A._NamedNodeMap, A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin); + _inherit(A._SpeechRecognitionResultList, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin); + _inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._StructuredCloneDart2Js, A._StructuredClone); + _inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone); + _inherit(A.CursorWithValue, A.Cursor); + _inherit(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A._LengthList_JavaScriptObject_ListMixin); + _inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin); + _inherit(A.NumberList, A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._StringList_JavaScriptObject_ListMixin); + _inherit(A.StringList, A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TransformList_JavaScriptObject_ListMixin); + _inherit(A.TransformList, A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin); + _inherit(A.AudioParamMap, A._AudioParamMap_JavaScriptObject_MapMixin); + _inherit(A.OfflineAudioContext, A.BaseAudioContext); + _inherit(A._CancelOnErrorSubscriptionWrapper, A.DelegatingStreamSubscription); + _inheritMany(A.Message, [A.Request, A.SuccessResponse, A.ErrorResponse, A.CancelledResponse]); + _inheritMany(A._Enum, [A.NoArgsRequest, A.StatementMethod, A.TransactionControl, A.UpdateKind, A.SqlDialect, A.DriftWorkerMode, A.OpenMode]); + _inherit(A.DatabaseDelegate, A.QueryDelegate); + _inherit(A.NoTransactionDelegate, A.TransactionDelegate); + _inherit(A.DynamicVersionDelegate, A.DbVersionDelegate); + _inheritMany(A.QueryExecutor, [A._BaseExecutor, A.LazyDatabase]); + _inheritMany(A._BaseExecutor, [A._TransactionExecutor, A.DelegatedDatabase, A._BeforeOpeningExecutor]); + _inherit(A._StatementBasedTransactionExecutor, A._TransactionExecutor); + _inherit(A.Sqlite3Delegate, A.DatabaseDelegate); + _inherit(A._SqliteVersionDelegate, A.DynamicVersionDelegate); + _inherit(A.WasmDatabase, A.DelegatedDatabase); + _inherit(A._WasmDelegate, A.Sqlite3Delegate); + _inherit(A.InternalStyle, A.Style); + _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]); + _inheritMany(A.FinalizablePart, [A.FinalizableDatabase, A.FinalizableStatement]); + _inherit(A._ResultSet_Cursor_ListMixin, A.Cursor0); + _inherit(A._ResultSet_Cursor_ListMixin_NonGrowableListMixin, A._ResultSet_Cursor_ListMixin); + _inherit(A.ResultSet, A._ResultSet_Cursor_ListMixin_NonGrowableListMixin); + _inherit(A._Row_Object_UnmodifiableMapMixin_MapMixin, A._Row_Object_UnmodifiableMapMixin); + _inherit(A.Row, A._Row_Object_UnmodifiableMapMixin_MapMixin); + _inherit(A._ResultIterator, A.Iterator); + _inherit(A.WasmContext, A.RawSqliteContext); + _inherit(A.WasmValue, A.RawSqliteValue); + _inherit(A._IndexedDbWorkItem, A.LinkedListEntry); + _inheritMany(A._IndexedDbWorkItem, [A._FunctionWorkItem, A._DeleteFileWorkItem, A._CreateFileWorkItem, A._WriteFileWorkItem]); + _inherit(A.WasmSqlite3, A.Sqlite3Implementation); + _inheritMany(A.StreamChannelMixin, [A.CloseGuaranteeChannel, A.GuaranteeChannel]); + _inherit(A._CloseGuaranteeSink, A.DelegatingStreamSink); + _mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin); + _mixin(A.__CastListBase__CastIterableBase_ListMixin, A.ListBase); + _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase); + _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); + _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListBase); + _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); + _mixin(A._AsyncStreamController, A._AsyncStreamControllerDispatch); + _mixin(A._SyncStreamController, A._SyncStreamControllerDispatch); + _mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin); + _mixin(A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleDeclarationBase); + _mixin(A._DomRectList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._DomStringList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._FileList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._HtmlCollection_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._MidiInputMap_JavaScriptObject_MapMixin, A.MapBase); + _mixin(A._MidiOutputMap_JavaScriptObject_MapMixin, A.MapBase); + _mixin(A._MimeTypeArray_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._NodeList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._PluginArray_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._RtcStatsReport_JavaScriptObject_MapMixin, A.MapBase); + _mixin(A._SourceBufferList_EventTarget_ListMixin, A.ListBase); + _mixin(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._Storage_JavaScriptObject_MapMixin, A.MapBase); + _mixin(A._TextTrackCueList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._TextTrackList_EventTarget_ListMixin, A.ListBase); + _mixin(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._TouchList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A.__CssRuleList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A.__GamepadList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._LengthList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._NumberList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._StringList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._TransformList_JavaScriptObject_ListMixin, A.ListBase); + _mixin(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _mixin(A._AudioParamMap_JavaScriptObject_MapMixin, A.MapBase); + _mixin(A._ResultSet_Cursor_ListMixin, A.ListBase); + _mixin(A._ResultSet_Cursor_ListMixin_NonGrowableListMixin, A.NonGrowableListMixin); + _mixin(A._Row_Object_UnmodifiableMapMixin, A.UnmodifiableMapMixin); + _mixin(A._Row_Object_UnmodifiableMapMixin_MapMixin, A.MapBase); + })(); + var init = { + typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, + mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, + mangledNames: {}, + types: ["~()", "~(Event)", "~(String,@)", "Future<~>()", "Null()", "double(num)", "~(Object?)", "~(@)", "int(int,int)", "~(Object,StackTrace)", "Null(int)", "~(~())", "Null(@)", "Null(int,int,int)", "~(Object[StackTrace?])", "~(@,@)", "int(int)", "int(int,int,int,Object)", "Null(@,StackTrace)", "int(int,int,int)", "~([Object?])", "@(MessageEvent)", "num?(List)", "bool()", "int()", "Future()", "bool(~)", "Future()", "@()", "~(String,String)", "~(Uint8List,String,int)", "~(String,int?)", "Uint8List(@,@)", "~(String,int)", "~(@[List?])", "~(Symbol0,@)", "~(Object?,Object?)", "Null(@,@)", "@(@,@)", "Future()", "Future<~>(Request)", "Object?(Object?)", "int?(int)", "Null(~)", "@(Request)", "bool(@)", "Future<@>()", "CancellationToken<@>?()", "Future()", "StreamQueryStore(DatabaseConnection)", "Object?(DatabaseConnection)", "StreamQueryStore(StreamQueryStore)", "Future()", "~(@,StackTrace)", "Future<@>(@)", "Null(bool)", "Future()", "Map(List)", "int(List)", "@(@)", "Null(QueryExecutor)", "Future(~)", "_Future<@>(@)", "~(MessageEvent)", "StreamChannel()", "SubscriptionStream(Stream)", "bool(String)", "String(String?)", "String(Object?)", "~(RawSqliteContext,List)", "~(FinalizablePart)", "~(VersionChangeEvent)", "bool(List<@>)", "Future<~>(int,Uint8List)", "Future<~>(int)", "Uint8List()", "~(String,Map)", "~(String,Object)", "Null(int,int)", "Null(Object,StackTrace)", "JsBigInt()", "~(int,@)", "bool(Object?)", "int(int,int,int,int,int)", "Null(int,int,int,int,Object)", "Null(~())", "DatabaseConnection()", "int(@,@)", "@(String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "bool(Object?,Object?)", "int(Object?)", "String(String)", "@(@,String)", "bool?(List)", "_FileEntry(_FileEntry?)"], + interceptorsByTag: null, + leafTags: null, + arrayRti: Symbol("$ti") + }; + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FileEntry":"LegacyJavaScriptObject","FetchOptions":"LegacyJavaScriptObject","ResponseInit":"LegacyJavaScriptObject","_GetFileHandleOptions":"LegacyJavaScriptObject","_RemoveEntryOptions":"LegacyJavaScriptObject","FileSystemReadWriteOptions":"LegacyJavaScriptObject","DatabaseName":"LegacyJavaScriptObject","_ResultObject":"LegacyJavaScriptObject","Global":"LegacyJavaScriptObject","_WasmInstance":"LegacyJavaScriptObject","MemoryDescriptor":"LegacyJavaScriptObject","Memory":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","OpenDBRequest":"Request0","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","ServiceWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"_FileEntry":[],"_ResultObject":[],"Memory":[],"Global":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"NativeTypedData":[],"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"NativeTypedArray":["double"],"ListBase":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"NativeTypedArray":["double"],"ListBase":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"NativeTypedArray":["double"],"ListBase":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Uint16List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Uint8List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"MultiStreamController":{"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_SyncStarIterator":{"Iterator":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_BroadcastStream":{"_ControllerStream":["1"],"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_BroadcastStreamController":{"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"],"StreamConsumer":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashSet":{"SetBase":["1"],"HashSet":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"LinkedList":{"Iterable":["1"],"Iterable.E":"1"},"_LinkedListIterator":{"Iterator":["1"]},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_MapBaseValueIterator":{"Iterator":["2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Utf8Decoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"_Enum":{"Enum":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DedicatedWorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"JSIndexable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"JSIndexable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"JSIndexable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MessagePort":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"JSIndexable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"JSIndexable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SharedArrayBuffer":{"JavaScriptObject":[],"JSObject":[]},"SharedWorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"EventTarget":[],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"JSIndexable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"JSIndexable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"JSIndexable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"EventTarget":[],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"JSIndexable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"JSIndexable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Worker":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"JSIndexable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"JSIndexable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"JSIndexable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"JSIndexable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"Cursor":{"JavaScriptObject":[],"JSObject":[]},"CursorWithValue":{"Cursor":[],"JavaScriptObject":[],"JSObject":[]},"Database":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"IdbFactory":{"JavaScriptObject":[],"JSObject":[]},"Request0":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"VersionChangeEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"Index":{"JavaScriptObject":[],"JSObject":[]},"ObjectStore":{"JavaScriptObject":[],"JSObject":[]},"Transaction":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_JSSecureRandom":{"Random":[]},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"],"StreamConsumer":["1"]},"DelegatingStreamSubscription":{"StreamSubscription":["1"]},"SubscriptionStream":{"Stream":["1"],"Stream.T":"1"},"_CancelOnErrorSubscriptionWrapper":{"DelegatingStreamSubscription":["1"],"StreamSubscription":["1"]},"Request":{"Message":[]},"StatementMethod":{"Enum":[]},"TransactionControl":{"Enum":[]},"SuccessResponse":{"Message":[]},"ErrorResponse":{"Message":[]},"CancelledResponse":{"Message":[]},"NoArgsRequest":{"Enum":[]},"ServerImplementation":{"DriftServer":[]},"_ServerDbUser":{"QueryExecutorUser":[]},"DatabaseConnection":{"QueryExecutor":[]},"UpdateKind":{"Enum":[]},"DelayedStreamQueryStore":{"StreamQueryStore":[]},"DynamicVersionDelegate":{"DbVersionDelegate":[]},"_BaseExecutor":{"QueryExecutor":[]},"_TransactionExecutor":{"TransactionExecutor":[],"QueryExecutor":[]},"_StatementBasedTransactionExecutor":{"TransactionExecutor":[],"QueryExecutor":[]},"DelegatedDatabase":{"QueryExecutor":[]},"_BeforeOpeningExecutor":{"QueryExecutor":[]},"SqlDialect":{"Enum":[]},"Sqlite3Delegate":{"DatabaseDelegate":[]},"_SqliteVersionDelegate":{"DbVersionDelegate":[]},"LazyDatabase":{"QueryExecutor":[]},"WasmDatabase":{"DelegatedDatabase":[],"QueryExecutor":[]},"_WasmDelegate":{"Sqlite3Delegate":["CommonDatabase"],"DatabaseDelegate":[],"Sqlite3Delegate.0":"CommonDatabase"},"DriftWorkerMode":{"Enum":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"FinalizableDatabase":{"FinalizablePart":[]},"DatabaseImplementation":{"CommonDatabase":[]},"ValueList":{"ListBase":["Object?"],"List":["Object?"],"EfficientLengthIterable":["Object?"],"Iterable":["Object?"],"ListBase.E":"Object?"},"Sqlite3Implementation":{"CommonSqlite3":[]},"FinalizableStatement":{"FinalizablePart":[]},"StatementImplementation":{"CommonPreparedStatement":[]},"Row":{"UnmodifiableMapMixin":["String","@"],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"ResultSet":{"ListBase":["Row"],"NonGrowableListMixin":["Row"],"List":["Row"],"EfficientLengthIterable":["Row"],"Cursor0":[],"Iterable":["Row"],"ListBase.E":"Row"},"_ResultIterator":{"Iterator":["Row"]},"OpenMode":{"Enum":[]},"WasmValue":{"RawSqliteValue":[]},"WasmSqliteBindings":{"RawSqliteBindings":[]},"WasmDatabase0":{"RawSqliteDatabase":[]},"WasmStatement":{"RawSqliteStatement":[]},"WasmContext":{"RawSqliteContext":[]},"WasmValueList":{"ListBase":["WasmValue"],"List":["WasmValue"],"EfficientLengthIterable":["WasmValue"],"Iterable":["WasmValue"],"ListBase.E":"WasmValue"},"IndexedDbFileSystem":{"FileSystem0":[]},"_IndexedDbWorkItem":{"LinkedListEntry":["_IndexedDbWorkItem"]},"_FunctionWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_DeleteFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_CreateFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_WriteFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"InMemoryFileSystem":{"FileSystem0":[]},"WasmSqlite3":{"CommonSqlite3":[]},"CloseGuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_CloseGuaranteeStream":{"Stream":["1"],"Stream.T":"1"},"_CloseGuaranteeSink":{"DelegatingStreamSink":["1"],"StreamSink":["1"],"StreamConsumer":["1"]},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"],"StreamConsumer":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}')); + A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"AggregateContext":1}')); + var string$ = { + BigInt: "BigInt value exceeds the range of 64 bits", + Cannot: "Cannot fire new event. Controller is already firing an event", + Dart_f: "Dart function requires `allowInterop` to be passed to JavaScript.", + Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", + Tried_: "Tried to operate on a released prepared statement" + }; + var type$ = (function rtii() { + var findType = A.findType; + return { + AggregateContext_nullable_Object: findType("AggregateContext"), + AsyncError: findType("AsyncError"), + BigInt: findType("BigInt"), + Blob: findType("Blob"), + ByteBuffer: findType("ByteBuffer"), + CancellationToken_dynamic: findType("CancellationToken<@>"), + CommonPreparedStatement: findType("CommonPreparedStatement"), + Comparable_dynamic: findType("Comparable<@>"), + Completer_dynamic: findType("Completer<@>"), + ConstantMapView_Symbol_dynamic: findType("ConstantMapView"), + CssRule: findType("CssRule"), + CursorWithValue: findType("CursorWithValue"), + Database: findType("Database"), + DatabaseConnection: findType("DatabaseConnection"), + DateTime: findType("DateTime"), + DedicatedWorkerGlobalScope: findType("DedicatedWorkerGlobalScope"), + DriftCommunication: findType("DriftCommunication"), + DriftWorkerMode: findType("DriftWorkerMode"), + Duration: findType("Duration"), + EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"), + Error: findType("Error"), + Event: findType("Event"), + File: findType("File"), + FileList: findType("FileList"), + FinalizablePart: findType("FinalizablePart"), + Function: findType("Function"), + Future_StreamQueryStore: findType("Future"), + Future_dynamic: findType("Future<@>"), + Future_void: findType("Future<~>"), + Global: findType("Global"), + ImageData: findType("ImageData"), + IndexedDbFileSystem: findType("IndexedDbFileSystem"), + Invocation: findType("Invocation"), + Iterable_String: findType("Iterable"), + Iterable_double: findType("Iterable"), + Iterable_dynamic: findType("Iterable<@>"), + Iterable_int: findType("Iterable"), + JSArray_ArgumentsForBatchedStatement: findType("JSArray"), + JSArray_CommonPreparedStatement: findType("JSArray"), + JSArray_FinalizableStatement: findType("JSArray"), + JSArray_Future_void: findType("JSArray>"), + JSArray_List_dynamic: findType("JSArray>"), + JSArray_List_nullable_Object: findType("JSArray>"), + JSArray_Map_dynamic_dynamic: findType("JSArray>"), + JSArray_Map_of_String_and_nullable_Object: findType("JSArray>"), + JSArray_MultiStreamController_SqliteUpdate: findType("JSArray>"), + JSArray_Object: findType("JSArray"), + JSArray_StatementImplementation: findType("JSArray"), + JSArray_String: findType("JSArray"), + JSArray_TableUpdate: findType("JSArray"), + JSArray_Uint8List: findType("JSArray"), + JSArray__OffsetAndBuffer: findType("JSArray<_OffsetAndBuffer>"), + JSArray_dynamic: findType("JSArray<@>"), + JSArray_int: findType("JSArray"), + JSArray_nullable_String: findType("JSArray"), + JSArray_nullable_int: findType("JSArray"), + JSArray_of_void_Function: findType("JSArray<~()>"), + JSIndexable_dynamic: findType("JSIndexable<@>"), + JSNull: findType("JSNull"), + JSObject: findType("JSObject"), + JavaScriptFunction: findType("JavaScriptFunction"), + JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), + JavaScriptObject: findType("JavaScriptObject"), + JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), + Length: findType("Length"), + LinkedList__IndexedDbWorkItem: findType("LinkedList<_IndexedDbWorkItem>"), + List_Map_of_String_and_nullable_Object: findType("List>"), + List_Object: findType("List"), + List_RawSqliteValue: findType("List"), + List_String: findType("List"), + List_dynamic: findType("List<@>"), + List_int: findType("List"), + List_nullable_Object: findType("List"), + Map_String_Object: findType("Map"), + Map_String_int: findType("Map"), + Map_dynamic_dynamic: findType("Map<@,@>"), + Map_of_String_and_Map_String_Object: findType("Map>"), + MappedListIterable_String_dynamic: findType("MappedListIterable"), + Memory: findType("Memory"), + MessageEvent: findType("MessageEvent"), + MessagePort: findType("MessagePort"), + MimeType: findType("MimeType"), + NativeByteBuffer: findType("NativeByteBuffer"), + NativeTypedArrayOfDouble: findType("NativeTypedArrayOfDouble"), + NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"), + NativeTypedData: findType("NativeTypedData"), + NativeUint8List: findType("NativeUint8List"), + Node: findType("Node"), + NotifyTablesUpdated: findType("NotifyTablesUpdated"), + Null: findType("Null"), + Number: findType("Number"), + Object: findType("Object"), + Plugin: findType("Plugin"), + QueryExecutor: findType("QueryExecutor"), + QueryResult: findType("QueryResult"), + QueryStream: findType("QueryStream"), + Record: findType("Record"), + Rectangle_num: findType("Rectangle"), + RegExp: findType("RegExp"), + RegExpMatch: findType("RegExpMatch"), + RegisteredFunctionSet: findType("RegisteredFunctionSet"), + Request: findType("Request0"), + Request_2: findType("Request"), + ReversedListIterable_String: findType("ReversedListIterable"), + Row: findType("Row"), + Set_TableUpdate: findType("Set"), + SharedArrayBuffer: findType("SharedArrayBuffer"), + SharedWorkerGlobalScope: findType("SharedWorkerGlobalScope"), + SourceBuffer: findType("SourceBuffer"), + SpeechGrammar: findType("SpeechGrammar"), + SpeechRecognitionResult: findType("SpeechRecognitionResult"), + SqlDialect: findType("SqlDialect"), + SqliteResult_nullable_RawSqliteStatement: findType("SqliteResult"), + StackTrace: findType("StackTrace"), + StatementImplementation: findType("StatementImplementation"), + StreamChannelController_nullable_Object: findType("StreamChannelController"), + StreamKey: findType("StreamKey"), + StreamQueryStore: findType("StreamQueryStore"), + String: findType("String"), + StyleSheet: findType("StyleSheet"), + SubscriptionStream_nullable_Object: findType("SubscriptionStream"), + Symbol: findType("Symbol0"), + TextTrack: findType("TextTrack"), + TextTrackCue: findType("TextTrackCue"), + Timer: findType("Timer"), + Touch: findType("Touch"), + TransactionExecutor: findType("TransactionExecutor"), + Transform: findType("Transform"), + TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), + TypeError: findType("TypeError"), + Uint8List: findType("Uint8List"), + UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), + Uri: findType("Uri"), + Utf8Codec: findType("Utf8Codec"), + VersionChangeEvent: findType("VersionChangeEvent"), + WasmBindings: findType("WasmBindings"), + WasmInstance: findType("WasmInstance"), + WasmSqlite3: findType("WasmSqlite3"), + WasmValue: findType("WasmValue"), + WhereTypeIterable_String: findType("WhereTypeIterable"), + Zone: findType("Zone"), + _AsyncCompleter_bool: findType("_AsyncCompleter"), + _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"), + _AsyncCompleter_void: findType("_AsyncCompleter<~>"), + _BigIntImpl: findType("_BigIntImpl"), + _CursorReader_Cursor: findType("_CursorReader"), + _CursorReader_CursorWithValue: findType("_CursorReader"), + _EventStream_MessageEvent: findType("_EventStream"), + _FileEntry: findType("_FileEntry"), + _Future_Database: findType("_Future"), + _Future_bool: findType("_Future"), + _Future_dynamic: findType("_Future<@>"), + _Future_int: findType("_Future"), + _Future_void: findType("_Future<~>"), + _PendingRequest: findType("_PendingRequest"), + _ResultObject: findType("_ResultObject"), + _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState"), + _SyncCompleter_Database: findType("_SyncCompleter"), + _SyncCompleter_bool: findType("_SyncCompleter"), + _SyncCompleter_dynamic: findType("_SyncCompleter<@>"), + _SyncCompleter_void: findType("_SyncCompleter<~>"), + _ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace: findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,Object,StackTrace)>"), + bool: findType("bool"), + bool_Function_Object: findType("bool(Object)"), + double: findType("double"), + dynamic: findType("@"), + dynamic_Function: findType("@()"), + dynamic_Function_Object: findType("@(Object)"), + dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), + dynamic_Function_Request: findType("@(Request)"), + dynamic_Function_String: findType("@(String)"), + dynamic_Function_dynamic: findType("@(@)"), + dynamic_Function_dynamic_dynamic: findType("@(@,@)"), + int: findType("int"), + legacy_Never: findType("0&*"), + legacy_Object: findType("Object*"), + nullable_Completer_bool: findType("Completer?"), + nullable_CursorWithValue: findType("CursorWithValue?"), + nullable_Database: findType("Database?"), + nullable_EventTarget: findType("EventTarget?"), + nullable_Future_Null: findType("Future?"), + nullable_Gamepad: findType("Gamepad?"), + nullable_IdbFactory: findType("IdbFactory?"), + nullable_List_Object: findType("List?"), + nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map?"), + nullable_Object: findType("Object?"), + nullable_Object_Function_List_nullable_Object: findType("Object?(List)"), + nullable_StackTrace: findType("StackTrace?"), + nullable_StreamKey: findType("StreamKey?"), + nullable_Uint8List: findType("Uint8List?"), + nullable_Zone: findType("Zone?"), + nullable_ZoneDelegate: findType("ZoneDelegate?"), + nullable_ZoneSpecification: findType("ZoneSpecification?"), + nullable__DelayedEvent_dynamic: findType("_DelayedEvent<@>?"), + nullable__FileEntry: findType("_FileEntry?"), + nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), + nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"), + nullable_dynamic_Function_Event: findType("@(Event)?"), + nullable_int: findType("int?"), + nullable_void_Function: findType("~()?"), + nullable_void_Function_2_RawSqliteContext_and_List_RawSqliteValue: findType("~(RawSqliteContext,List)?"), + nullable_void_Function_Event: findType("~(Event)?"), + nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"), + nullable_void_Function_VersionChangeEvent: findType("~(VersionChangeEvent)?"), + nullable_void_Function_int_String_int: findType("~(int,String,int)?"), + num: findType("num"), + void: findType("~"), + void_Function: findType("~()"), + void_Function_$opt_dynamic: findType("~([@])"), + void_Function_$opt_void: findType("~([~])"), + void_Function_Object: findType("~(Object)"), + void_Function_Object_StackTrace: findType("~(Object,StackTrace)"), + void_Function_String_String: findType("~(String,String)"), + void_Function_String_dynamic: findType("~(String,@)"), + void_Function_Timer: findType("~(Timer)") + }; + })(); + (function constants() { + var makeConstList = hunkHelpers.makeConstList; + B.CursorWithValue_methods = A.CursorWithValue.prototype; + B.Database_methods = A.Database.prototype; + B.IdbFactory_methods = A.IdbFactory.prototype; + B.Index_methods = A.Index.prototype; + B.Interceptor_methods = J.Interceptor.prototype; + B.JSArray_methods = J.JSArray.prototype; + B.JSInt_methods = J.JSInt.prototype; + B.JSNumber_methods = J.JSNumber.prototype; + B.JSString_methods = J.JSString.prototype; + B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; + B.JavaScriptObject_methods = J.JavaScriptObject.prototype; + B.MessagePort_methods = A.MessagePort.prototype; + B.NativeByteData_methods = A.NativeByteData.prototype; + B.NativeUint8List_methods = A.NativeUint8List.prototype; + B.ObjectStore_methods = A.ObjectStore.prototype; + B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; + B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + B.Worker_methods = A.Worker.prototype; + B.AllowedArgumentCount_0 = new A.AllowedArgumentCount(0); + B.AllowedArgumentCount_1 = new A.AllowedArgumentCount(1); + B.AllowedArgumentCount_2 = new A.AllowedArgumentCount(2); + B.AllowedArgumentCount_3 = new A.AllowedArgumentCount(3); + B.AllowedArgumentCount_m1 = new A.AllowedArgumentCount(-1); + B.C_Base64Encoder = new A.Base64Encoder(); + B.C_Base64Codec = new A.Base64Codec(); + B.C_CancellationException = new A.CancellationException(); + B.C_ConnectionClosedException = new A.ConnectionClosedException(); + B.C_DefaultEquality = new A.DefaultEquality(A.findType("DefaultEquality<0&>")); + B.C_DriftProtocol = new A.DriftProtocol(); + B.C_Duration = new A.Duration(); + B.C_EmptyIterator = new A.EmptyIterator(A.findType("EmptyIterator<0&>")); + B.C_IntegerDivisionByZeroException = new A.IntegerDivisionByZeroException(); + B.C_JS_CONST = function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +}; + B.C_JS_CONST0 = function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof navigator == "object"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +}; + B.C_JS_CONST6 = function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var ua = navigator.userAgent; + if (ua.indexOf("DumpRenderTree") >= 0) return hooks; + if (ua.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +}; + B.C_JS_CONST1 = function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +}; + B.C_JS_CONST2 = function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +}; + B.C_JS_CONST5 = function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +}; + B.C_JS_CONST4 = function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +}; + B.C_JS_CONST3 = function(hooks) { return hooks; } +; + B.C_ListEquality = new A.ListEquality(A.findType("ListEquality")); + B.C_NoTransactionDelegate = new A.NoTransactionDelegate(); + B.C_OutOfMemoryError = new A.OutOfMemoryError(); + B.C_SentinelValue = new A.SentinelValue(); + B.C_Utf8Codec = new A.Utf8Codec(); + B.C_Utf8Encoder = new A.Utf8Encoder(); + B.C__DelayedDone = new A._DelayedDone(); + B.C__Required = new A._Required(); + B.C__RootZone = new A._RootZone(); + B.DriftWorkerMode_0 = new A.DriftWorkerMode(0, "dedicated"); + B.DriftWorkerMode_1 = new A.DriftWorkerMode(1, "shared"); + B.DriftWorkerMode_2 = new A.DriftWorkerMode(2, "dedicatedInShared"); + B.FormatException_6Jr = new A.FormatException("Unknown tag", null, null); + B.FormatException_6mY = new A.FormatException("Cannot read message", null, null); + B.List_11 = A._setArrayType(makeConstList([11]), type$.JSArray_int); + B.UpdateKind_0 = new A.UpdateKind(0, "insert"); + B.UpdateKind_1 = new A.UpdateKind(1, "update"); + B.UpdateKind_2 = new A.UpdateKind(2, "delete"); + B.List_8Gl = A._setArrayType(makeConstList([B.UpdateKind_0, B.UpdateKind_1, B.UpdateKind_2]), A.findType("JSArray")); + B.List_M1A = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.List_MMm = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int); + B.List_OL3 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.List_XRg = A._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int); + B.List_YmH = A._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_int); + B.List_bQo = A._setArrayType(makeConstList([B.DriftWorkerMode_0, B.DriftWorkerMode_1, B.DriftWorkerMode_2]), A.findType("JSArray")); + B.List_ejq = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_List_nullable_Object); + B.List_empty3 = A._setArrayType(makeConstList([]), type$.JSArray_Object); + B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_String); + B.List_empty2 = A._setArrayType(makeConstList([]), type$.JSArray_dynamic); + B.List_empty = A._setArrayType(makeConstList([]), A.findType("JSArray")); + B.List_files_blocks = A._setArrayType(makeConstList(["files", "blocks"]), type$.JSArray_String); + B.TransactionControl_0 = new A.TransactionControl(0, "begin"); + B.TransactionControl_1 = new A.TransactionControl(1, "commit"); + B.TransactionControl_2 = new A.TransactionControl(2, "rollback"); + B.List_kMT = A._setArrayType(makeConstList([B.TransactionControl_0, B.TransactionControl_1, B.TransactionControl_2]), A.findType("JSArray")); + B.List_oFp = A._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int); + B.StatementMethod_0 = new A.StatementMethod(0, "custom"); + B.StatementMethod_1 = new A.StatementMethod(1, "deleteOrUpdate"); + B.StatementMethod_2 = new A.StatementMethod(2, "insert"); + B.StatementMethod_3 = new A.StatementMethod(3, "select"); + B.List_pke = A._setArrayType(makeConstList([B.StatementMethod_0, B.StatementMethod_1, B.StatementMethod_2, B.StatementMethod_3]), A.findType("JSArray")); + B.SqlDialect_0 = new A.SqlDialect(0, "sqlite"); + B.SqlDialect_1 = new A.SqlDialect(1, "mysql"); + B.SqlDialect_2 = new A.SqlDialect(2, "postgres"); + B.List_ww8 = A._setArrayType(makeConstList([B.SqlDialect_0, B.SqlDialect_1, B.SqlDialect_2]), A.findType("JSArray")); + B.Map_empty = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap")); + B.List_empty4 = A._setArrayType(makeConstList([]), A.findType("JSArray")); + B.Map_empty0 = new A.ConstantStringMap(0, {}, B.List_empty4, A.findType("ConstantStringMap")); + B.NoArgsRequest_0 = new A.NoArgsRequest(0, "terminateAll"); + B.OpenMode_2 = new A.OpenMode(2, "readWriteCreate"); + B.List_empty5 = A._setArrayType(makeConstList([]), type$.JSArray_Map_of_String_and_nullable_Object); + B.SelectResult_List_empty = new A.SelectResult(B.List_empty5); + B.Symbol_HZS = new A.Symbol("drift.runtime.cancellation"); + B.Symbol_call = new A.Symbol("call"); + B.Type_ByteBuffer_RkP = A.typeLiteral("ByteBuffer"); + B.Type_ByteData_zNC = A.typeLiteral("ByteData"); + B.Type_Float32List_LB7 = A.typeLiteral("Float32List"); + B.Type_Float64List_LB7 = A.typeLiteral("Float64List"); + B.Type_Int16List_uXf = A.typeLiteral("Int16List"); + B.Type_Int32List_O50 = A.typeLiteral("Int32List"); + B.Type_Int8List_ekJ = A.typeLiteral("Int8List"); + B.Type_Object_xQ6 = A.typeLiteral("Object"); + B.Type_Uint16List_2bx = A.typeLiteral("Uint16List"); + B.Type_Uint32List_2bx = A.typeLiteral("Uint32List"); + B.Type_Uint8ClampedList_Jik = A.typeLiteral("Uint8ClampedList"); + B.Type_Uint8List_WLA = A.typeLiteral("Uint8List"); + B.Utf8Decoder_false = new A.Utf8Decoder(false); + B._IterationMarker_null_2 = new A._IterationMarker(null, 2); + B._StringStackTrace_3uE = new A._StringStackTrace(""); + B._ZoneFunction_3bB = new A._ZoneFunction(B.C__RootZone, A.async___rootCreatePeriodicTimer$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction_7G2 = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterBinaryCallback$closure(), A.findType("_ZoneFunction<0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))>")); + B._ZoneFunction_Eeh = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterUnaryCallback$closure(), A.findType("_ZoneFunction<0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))>")); + B._ZoneFunction_NMc = new A._ZoneFunction(B.C__RootZone, A.async___rootHandleUncaughtError$closure(), type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace); + B._ZoneFunction__RootZone__rootCreateTimer = new A._ZoneFunction(B.C__RootZone, A.async___rootCreateTimer$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction__RootZone__rootErrorCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootErrorCallback$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction__RootZone__rootFork = new A._ZoneFunction(B.C__RootZone, A.async___rootFork$closure(), A.findType("_ZoneFunction?)>")); + B._ZoneFunction__RootZone__rootPrint = new A._ZoneFunction(B.C__RootZone, A.async___rootPrint$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,String)>")); + B._ZoneFunction__RootZone__rootRegisterCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterCallback$closure(), A.findType("_ZoneFunction<0^()(Zone,ZoneDelegate,Zone,0^())>")); + B._ZoneFunction__RootZone__rootRun = new A._ZoneFunction(B.C__RootZone, A.async___rootRun$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^())>")); + B._ZoneFunction__RootZone__rootRunBinary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunBinary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^,2^),1^,2^)>")); + B._ZoneFunction__RootZone__rootRunUnary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunUnary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^),1^)>")); + B._ZoneFunction__RootZone__rootScheduleMicrotask = new A._ZoneFunction(B.C__RootZone, A.async___rootScheduleMicrotask$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,~())>")); + B._ZoneSpecification_ALf = new A._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null); + })(); + (function staticFields() { + $._JS_INTEROP_INTERCEPTOR_TAG = null; + $.toStringVisiting = A._setArrayType([], type$.JSArray_Object); + $.printToZone = null; + $.Primitives__identityHashCodeProperty = null; + $.BoundClosure__receiverFieldNameCache = null; + $.BoundClosure__interceptorFieldNameCache = null; + $.getTagFunction = null; + $.alternateTagFunction = null; + $.prototypeForTagFunction = null; + $.dispatchRecordsForInstanceTags = null; + $.interceptorsForUncacheableTags = null; + $.initNativeDispatchFlag = null; + $._nextCallback = null; + $._lastCallback = null; + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + $.Zone__current = B.C__RootZone; + $._RootZone__rootDelegate = null; + $._BigIntImpl__lastDividendDigits = null; + $._BigIntImpl__lastDividendUsed = null; + $._BigIntImpl__lastDivisorDigits = null; + $._BigIntImpl__lastDivisorUsed = null; + $._BigIntImpl____lastQuoRemDigits = A._Cell$named("_lastQuoRemDigits"); + $._BigIntImpl____lastQuoRemUsed = A._Cell$named("_lastQuoRemUsed"); + $._BigIntImpl____lastRemUsed = A._Cell$named("_lastRemUsed"); + $._BigIntImpl____lastRem_nsh = A._Cell$named("_lastRem_nsh"); + })(); + (function lazyInitializers() { + var _lazyFinal = hunkHelpers.lazyFinal, + _lazy = hunkHelpers.lazy; + _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartClosure")); + _lazyFinal($, "nullFuture", "$get$nullFuture", () => B.C__RootZone.run$1$1(new A.nullFuture_closure(), A.findType("Future"))); + _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({ + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({$method$: null, + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + null.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + (void 0).$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + null.$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + (void 0).$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate()); + _lazyFinal($, "Future__nullFuture", "$get$Future__nullFuture", () => A.findType("_Future")._as($.$get$nullFuture())); + _lazyFinal($, "_RootZone__rootMap", "$get$_RootZone__rootMap", () => { + var t1 = type$.dynamic; + return A.HashMap_HashMap(t1, t1); + }); + _lazyFinal($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", () => new A.Utf8Decoder__decoder_closure().call$0()); + _lazyFinal($, "Utf8Decoder__decoderNonfatal", "$get$Utf8Decoder__decoderNonfatal", () => new A.Utf8Decoder__decoderNonfatal_closure().call$0()); + _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => A.NativeInt8List__create1(A._ensureNativeList(A._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)))); + _lazyFinal($, "_BigIntImpl_zero", "$get$_BigIntImpl_zero", () => A._BigIntImpl__BigIntImpl$_fromInt(0)); + _lazyFinal($, "_BigIntImpl_one", "$get$_BigIntImpl_one", () => A._BigIntImpl__BigIntImpl$_fromInt(1)); + _lazyFinal($, "_BigIntImpl_two", "$get$_BigIntImpl_two", () => A._BigIntImpl__BigIntImpl$_fromInt(2)); + _lazyFinal($, "_BigIntImpl__minusOne", "$get$_BigIntImpl__minusOne", () => $.$get$_BigIntImpl_one().$negate(0)); + _lazyFinal($, "_BigIntImpl__bigInt10000", "$get$_BigIntImpl__bigInt10000", () => A._BigIntImpl__BigIntImpl$_fromInt(10000)); + _lazy($, "_BigIntImpl__parseRE", "$get$_BigIntImpl__parseRE", () => A.RegExp_RegExp("^\\s*([+-]?)((0x[a-f0-9]+)|(\\d+)|([a-z0-9]+))\\s*$", false, false, false, false)); + _lazyFinal($, "_BigIntImpl__bitsForFromDouble", "$get$_BigIntImpl__bitsForFromDouble", () => A.NativeUint8List_NativeUint8List(8)); + _lazyFinal($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", () => typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32"); + _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", () => new Error().stack != void 0); + _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6)); + _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables()); + _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => { + var t1 = new A._JSSecureRandom(new DataView(new ArrayBuffer(A._checkLength(8)))); + t1._JSSecureRandom$0(); + return t1; + }); + _lazyFinal($, "Style_posix", "$get$Style_posix", () => new A.PosixStyle(A.RegExp_RegExp("/", true, false, false, false), A.RegExp_RegExp("[^/]$", true, false, false, false), A.RegExp_RegExp("^/", true, false, false, false))); + _lazyFinal($, "Style_windows", "$get$Style_windows", () => new A.WindowsStyle(A.RegExp_RegExp("[/\\\\]", true, false, false, false), A.RegExp_RegExp("[^/\\\\]$", true, false, false, false), A.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false, false, false), A.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false, false, false))); + _lazyFinal($, "Style_url", "$get$Style_url", () => new A.UrlStyle(A.RegExp_RegExp("/", true, false, false, false), A.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false, false, false), A.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false, false, false), A.RegExp_RegExp("^/", true, false, false, false))); + _lazyFinal($, "Style_platform", "$get$Style_platform", () => A.Style__getPlatformStyle()); + _lazyFinal($, "bigIntMinValue64", "$get$bigIntMinValue64", () => A.BigInt_parse("-9223372036854775808")); + _lazyFinal($, "bigIntMaxValue64", "$get$bigIntMaxValue64", () => A.BigInt_parse("9223372036854775807")); + _lazyFinal($, "disposeFinalizer", "$get$disposeFinalizer", () => new A._FinalizationRegistryWrapper(new FinalizationRegistry(A.convertDartClosureToJS(A.wrapZoneUnaryCallback(new A.disposeFinalizer_closure(), type$.FinalizablePart), 1)), A.findType("_FinalizationRegistryWrapper"))); + _lazyFinal($, "_context", "$get$_context", () => { + var style = $.$get$Style_url(); + if (style == null) + style = $.$get$Style_platform(); + return new A.Context(A.findType("InternalStyle")._as(style), "/"); + }); + })(); + (function nativeSupport() { + !function() { + var intern = function(s) { + var o = {}; + o[s] = 1; + return Object.keys(hunkHelpers.convertToFastObject(o))[0]; + }; + init.getIsolateTag = function(name) { + return intern("___dart_" + name + init.isolateTag); + }; + var tableProperty = "___dart_isolate_tags_"; + var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); + var rootProperty = "_ZxYxX"; + for (var i = 0;; i++) { + var property = intern(rootProperty + "_" + i + "_"); + if (!(property in usedProperties)) { + usedProperties[property] = 1; + init.isolateTag = property; + break; + } + } + init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); + }(); + hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBKeyRange: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DedicatedWorkerGlobalScope: A.DedicatedWorkerGlobalScope, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CloseEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, WebSocket: A.EventTarget, Window: A.EventTarget, DOMWindow: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, ImageData: A.ImageData, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MessagePort: A.MessagePort, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SharedArrayBuffer: A.SharedArrayBuffer, SharedWorkerGlobalScope: A.SharedWorkerGlobalScope, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, Worker: A.Worker, ServiceWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBCursor: A.Cursor, IDBCursorWithValue: A.CursorWithValue, IDBDatabase: A.Database, IDBFactory: A.IdbFactory, IDBIndex: A.Index, IDBObjectStore: A.ObjectStore, IDBOpenDBRequest: A.Request0, IDBVersionChangeRequest: A.Request0, IDBRequest: A.Request0, IDBTransaction: A.Transaction, IDBVersionChangeEvent: A.VersionChangeEvent, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext}); + hunkHelpers.setOrUpdateLeafTags({WebGL: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceRotationRate: true, DirectoryEntry: true, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: true, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: true, NavigationPreloadManager: true, Navigator: true, NavigatorAutomationInformation: true, NavigatorConcurrentHardware: true, NavigatorCookies: true, NavigatorUserMediaError: true, NodeFilter: true, NodeIterator: true, NonDocumentTypeChildNode: true, NonElementParentNode: true, NoncedElement: true, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: true, PaymentResponse: true, PerformanceEntry: true, PerformanceLongTaskTiming: true, PerformanceMark: true, PerformanceMeasure: true, PerformanceNavigation: true, PerformanceNavigationTiming: true, PerformanceObserver: true, PerformanceObserverEntryList: true, PerformancePaintTiming: true, PerformanceResourceTiming: true, PerformanceServerTiming: true, PerformanceTiming: true, Permissions: true, PhotoCapabilities: true, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: true, WindowClient: true, WorkletAnimation: true, WorkletGlobalScope: true, XPathEvaluator: true, XPathExpression: true, XPathNSResolver: true, XPathResult: true, XMLSerializer: true, XSLTProcessor: true, Bluetooth: true, BluetoothCharacteristicProperties: true, BluetoothRemoteGATTServer: true, BluetoothRemoteGATTService: true, BluetoothUUID: true, BudgetService: true, Cache: true, DOMFileSystemSync: true, DirectoryEntrySync: true, DirectoryReaderSync: true, EntrySync: true, FileEntrySync: true, FileReaderSync: true, FileWriterSync: true, HTMLAllCollection: true, Mojo: true, MojoHandle: true, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: true, USBDevice: true, USBEndpoint: true, USBInTransferResult: true, USBInterface: true, USBIsochronousInTransferPacket: true, USBIsochronousInTransferResult: true, USBIsochronousOutTransferPacket: true, USBIsochronousOutTransferResult: true, USBOutTransferResult: true, WorkerLocation: true, WorkerNavigator: true, Worklet: true, IDBKeyRange: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: true, SVGAngle: true, SVGAnimatedAngle: true, SVGAnimatedBoolean: true, SVGAnimatedEnumeration: true, SVGAnimatedInteger: true, SVGAnimatedLength: true, SVGAnimatedLengthList: true, SVGAnimatedNumber: true, SVGAnimatedNumberList: true, SVGAnimatedPreserveAspectRatio: true, SVGAnimatedRect: true, SVGAnimatedString: true, SVGAnimatedTransformList: true, SVGMatrix: true, SVGPoint: true, SVGPreserveAspectRatio: true, SVGRect: true, SVGUnitTypes: true, AudioListener: true, AudioParam: true, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: true, PeriodicWave: true, WebGLActiveInfo: true, ANGLEInstancedArrays: true, ANGLE_instanced_arrays: true, WebGLBuffer: true, WebGLCanvas: true, WebGLColorBufferFloat: true, WebGLCompressedTextureASTC: true, WebGLCompressedTextureATC: true, WEBGL_compressed_texture_atc: true, WebGLCompressedTextureETC1: true, WEBGL_compressed_texture_etc1: true, WebGLCompressedTextureETC: true, WebGLCompressedTexturePVRTC: true, WEBGL_compressed_texture_pvrtc: true, WebGLCompressedTextureS3TC: true, WEBGL_compressed_texture_s3tc: true, WebGLCompressedTextureS3TCsRGB: true, WebGLDebugRendererInfo: true, WEBGL_debug_renderer_info: true, WebGLDebugShaders: true, WEBGL_debug_shaders: true, WebGLDepthTexture: true, WEBGL_depth_texture: true, WebGLDrawBuffers: true, WEBGL_draw_buffers: true, EXTsRGB: true, EXT_sRGB: true, EXTBlendMinMax: true, EXT_blend_minmax: true, EXTColorBufferFloat: true, EXTColorBufferHalfFloat: true, EXTDisjointTimerQuery: true, EXTDisjointTimerQueryWebGL2: true, EXTFragDepth: true, EXT_frag_depth: true, EXTShaderTextureLOD: true, EXT_shader_texture_lod: true, EXTTextureFilterAnisotropic: true, EXT_texture_filter_anisotropic: true, WebGLFramebuffer: true, WebGLGetBufferSubDataAsync: true, WebGLLoseContext: true, WebGLExtensionLoseContext: true, WEBGL_lose_context: true, OESElementIndexUint: true, OES_element_index_uint: true, OESStandardDerivatives: true, OES_standard_derivatives: true, OESTextureFloat: true, OES_texture_float: true, OESTextureFloatLinear: true, OES_texture_float_linear: true, OESTextureHalfFloat: true, OES_texture_half_float: true, OESTextureHalfFloatLinear: true, OES_texture_half_float_linear: true, OESVertexArrayObject: true, OES_vertex_array_object: true, WebGLProgram: true, WebGLQuery: true, WebGLRenderbuffer: true, WebGLRenderingContext: true, WebGL2RenderingContext: true, WebGLSampler: true, WebGLShader: true, WebGLShaderPrecisionFormat: true, WebGLSync: true, WebGLTexture: true, WebGLTimerQueryEXT: true, WebGLTransformFeedback: true, WebGLUniformLocation: true, WebGLVertexArrayObject: true, WebGLVertexArrayObjectOES: true, WebGL2RenderingContextBase: true, ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLDivElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNodeList: true, HTMLAnchorElement: true, HTMLAreaElement: true, Blob: false, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CSSPerspective: true, CSSCharsetRule: true, CSSConditionRule: true, CSSFontFaceRule: true, CSSGroupingRule: true, CSSImportRule: true, CSSKeyframeRule: true, MozCSSKeyframeRule: true, WebKitCSSKeyframeRule: true, CSSKeyframesRule: true, MozCSSKeyframesRule: true, WebKitCSSKeyframesRule: true, CSSMediaRule: true, CSSNamespaceRule: true, CSSPageRule: true, CSSRule: true, CSSStyleRule: true, CSSSupportsRule: true, CSSViewportRule: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, CSSImageValue: true, CSSKeywordValue: true, CSSNumericValue: true, CSSPositionValue: true, CSSResourceValue: true, CSSUnitValue: true, CSSURLImageValue: true, CSSStyleValue: false, CSSMatrixComponent: true, CSSRotation: true, CSSScale: true, CSSSkew: true, CSSTranslation: true, CSSTransformComponent: false, CSSTransformValue: true, CSSUnparsedValue: true, DataTransferItemList: true, DedicatedWorkerGlobalScope: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CloseEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, EventSource: true, FileReader: true, FontFaceSet: true, Gyroscope: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: true, XMLHttpRequestUpload: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MIDIAccess: true, MIDIInput: true, MIDIOutput: true, MIDIPort: true, NetworkInformation: true, Notification: true, OffscreenCanvas: true, OrientationSensor: true, PaymentRequest: true, Performance: true, PermissionStatus: true, PresentationAvailability: true, PresentationConnection: true, PresentationConnectionList: true, PresentationRequest: true, RelativeOrientationSensor: true, RemotePlayback: true, RTCDataChannel: true, DataChannel: true, RTCDTMFSender: true, RTCPeerConnection: true, webkitRTCPeerConnection: true, mozRTCPeerConnection: true, ScreenOrientation: true, Sensor: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, WebSocket: true, Window: true, DOMWindow: true, WorkerPerformance: true, BluetoothDevice: true, BluetoothRemoteGATTCharacteristic: true, Clipboard: true, MojoInterfaceInterceptor: true, USB: true, AnalyserNode: true, RealtimeAnalyserNode: true, AudioBufferSourceNode: true, AudioDestinationNode: true, AudioNode: true, AudioScheduledSourceNode: true, AudioWorkletNode: true, BiquadFilterNode: true, ChannelMergerNode: true, AudioChannelMerger: true, ChannelSplitterNode: true, AudioChannelSplitter: true, ConstantSourceNode: true, ConvolverNode: true, DelayNode: true, DynamicsCompressorNode: true, GainNode: true, AudioGainNode: true, IIRFilterNode: true, MediaElementAudioSourceNode: true, MediaStreamAudioDestinationNode: true, MediaStreamAudioSourceNode: true, OscillatorNode: true, Oscillator: true, PannerNode: true, AudioPannerNode: true, webkitAudioPannerNode: true, ScriptProcessorNode: true, JavaScriptAudioNode: true, StereoPannerNode: true, WaveShaperNode: true, EventTarget: false, File: true, FileList: true, FileWriter: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: true, ImageData: true, Location: true, MediaList: true, MessageEvent: true, MessagePort: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, RTCStatsReport: true, HTMLSelectElement: true, SharedArrayBuffer: true, SharedWorkerGlobalScope: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, URL: true, VideoTrackList: true, Worker: true, ServiceWorkerGlobalScope: true, WorkerGlobalScope: false, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBCursor: false, IDBCursorWithValue: true, IDBDatabase: true, IDBFactory: true, IDBIndex: true, IDBObjectStore: true, IDBOpenDBRequest: true, IDBVersionChangeRequest: true, IDBRequest: true, IDBTransaction: true, IDBVersionChangeEvent: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGStringList: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true}); + A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; + A._SourceBufferList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget"; + A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget"; + A._TextTrackList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget"; + A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget"; + })(); + Function.prototype.call$1 = function(a) { + return this(a); + }; + Function.prototype.call$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$0 = function() { + return this(); + }; + Function.prototype.call$1$1 = function(a) { + return this(a); + }; + Function.prototype.call$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$3$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$2$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$2$1 = function(a) { + return this(a); + }; + Function.prototype.call$3$1 = function(a) { + return this(a); + }; + Function.prototype.call$2$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$1$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$5 = function(a, b, c, d, e) { + return this(a, b, c, d, e); + }; + Function.prototype.call$3$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$2$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$1$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$3$6 = function(a, b, c, d, e, f) { + return this(a, b, c, d, e, f); + }; + Function.prototype.call$2$5 = function(a, b, c, d, e) { + return this(a, b, c, d, e); + }; + Function.prototype.call$1$0 = function() { + return this(); + }; + Function.prototype.call$6 = function(a, b, c, d, e, f) { + return this(a, b, c, d, e, f); + }; + convertAllToFastObject(holders); + convertToFastObject($); + (function(callback) { + if (typeof document === "undefined") { + callback(null); + return; + } + if (typeof document.currentScript != "undefined") { + callback(document.currentScript); + return; + } + var scripts = document.scripts; + function onLoad(event) { + for (var i = 0; i < scripts.length; ++i) + scripts[i].removeEventListener("load", onLoad, false); + callback(event.target); + } + for (var i = 0; i < scripts.length; ++i) + scripts[i].addEventListener("load", onLoad, false); + })(function(currentScript) { + init.currentScript = currentScript; + var callMain = A.main; + if (typeof dartMainRunner === "function") + dartMainRunner(callMain, []); + else + callMain([]); + }); +})(); + +//# sourceMappingURL=worker.dart.js.map diff --git a/extras/integration_tests/web/.gitignore b/extras/integration_tests/legacy_web/.gitignore similarity index 100% rename from extras/integration_tests/web/.gitignore rename to extras/integration_tests/legacy_web/.gitignore diff --git a/extras/integration_tests/web/assets/web_test.html.tpl b/extras/integration_tests/legacy_web/assets/web_test.html.tpl similarity index 100% rename from extras/integration_tests/web/assets/web_test.html.tpl rename to extras/integration_tests/legacy_web/assets/web_test.html.tpl diff --git a/extras/integration_tests/web/dart_test.yaml b/extras/integration_tests/legacy_web/dart_test.yaml similarity index 100% rename from extras/integration_tests/web/dart_test.yaml rename to extras/integration_tests/legacy_web/dart_test.yaml diff --git a/extras/integration_tests/web/pubspec.yaml b/extras/integration_tests/legacy_web/pubspec.yaml similarity index 74% rename from extras/integration_tests/web/pubspec.yaml rename to extras/integration_tests/legacy_web/pubspec.yaml index cf4754ba..ba4b59b5 100644 --- a/extras/integration_tests/web/pubspec.yaml +++ b/extras/integration_tests/legacy_web/pubspec.yaml @@ -1,5 +1,6 @@ -name: web -description: Run integration tests for Moor on the web +name: legacy_web +description: Run integration tests for drift/web +publish_to: none environment: sdk: '>=2.12.0 <3.0.0' diff --git a/extras/integration_tests/web/test/initializer_test.dart b/extras/integration_tests/legacy_web/test/initializer_test.dart similarity index 100% rename from extras/integration_tests/web/test/initializer_test.dart rename to extras/integration_tests/legacy_web/test/initializer_test.dart diff --git a/extras/integration_tests/web/test/integration_test.dart b/extras/integration_tests/legacy_web/test/integration_test.dart similarity index 100% rename from extras/integration_tests/web/test/integration_test.dart rename to extras/integration_tests/legacy_web/test/integration_test.dart diff --git a/extras/integration_tests/web/test/saves_after_migration_regression_test.dart b/extras/integration_tests/legacy_web/test/saves_after_migration_regression_test.dart similarity index 100% rename from extras/integration_tests/web/test/saves_after_migration_regression_test.dart rename to extras/integration_tests/legacy_web/test/saves_after_migration_regression_test.dart diff --git a/extras/integration_tests/web/test/saves_after_migration_regression_test.g.dart b/extras/integration_tests/legacy_web/test/saves_after_migration_regression_test.g.dart similarity index 100% rename from extras/integration_tests/web/test/saves_after_migration_regression_test.g.dart rename to extras/integration_tests/legacy_web/test/saves_after_migration_regression_test.g.dart diff --git a/extras/integration_tests/web/test/sql-wasm.js b/extras/integration_tests/legacy_web/test/sql-wasm.js similarity index 100% rename from extras/integration_tests/web/test/sql-wasm.js rename to extras/integration_tests/legacy_web/test/sql-wasm.js diff --git a/extras/integration_tests/web/test/sql-wasm.wasm b/extras/integration_tests/legacy_web/test/sql-wasm.wasm similarity index 100% rename from extras/integration_tests/web/test/sql-wasm.wasm rename to extras/integration_tests/legacy_web/test/sql-wasm.wasm